当前位置: 首页 > news >正文

Vant组件库入门知识

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:程序员老茶
🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • Vant组件库入门知识
    • 1. 为什么选择 Vant?
    • 2. Vant 组件库介绍
      • 2.1 Button(按钮)
      • 2.2 Form(表单)
      • 2.3 Carousel(轮播图)
    • 3. Vant 组件的使用
      • Cell(单元格)
      • Icon(图标)
      • Tab(标签页)
    • 自定义主题
    • 使用插件
      • Toast(轻提示)
      • Dialog(对话框)
      • Lazyload(图片懒加载)
    • 总结

Vant组件库入门知识

Vant 是一个轻量、可靠的移动端 Vue 组件库,提供了丰富的组件和解决方案,帮助开发者快速构建出优雅的移动端应用。本文将详细介绍 Vant 的基本概念、使用方法以及相关扩展,帮助你快速上手 Vant。

1. 为什么选择 Vant?

在移动端开发中,我们常常需要使用各种组件来构建界面。React Native、Weex 等跨平台框架虽然提供了丰富的组件,但它们往往需要我们自己封装大量的样式和逻辑。而 Vue、React 等原生框架虽然提供了丰富的组件库,但它们的体积较大,不易于在我们的项目中引入。Vant 正是为了解决这些问题而生,它提供了一套轻量、易用的移动端组件库,可以帮助我们快速构建出优雅的移动端应用。

Vant 的特点如下:

  • 轻量:Vant 的体积非常小,引入后不会对项目产生太大的负担。
  • 易用:Vant 提供了丰富的组件,涵盖了常用的 UI 元素,同时支持主题定制,可以快速替换为我们需要的样式。
  • 高效:Vant 的组件都是经过严格测试的,可以在各种场景下稳定运行,提高了开发效率。
  • 灵活:Vant 支持按需引入,可以根据项目需要只引入需要的组件,降低了项目的体积。

2. Vant 组件库介绍

Vant 的组件库包含了许多常用的 UI 元素,如按钮、输入框、弹窗、表格等。下面我们来看一下 Vant 的一些常用组件。

2.1 Button(按钮)

Vant 的 Button 组件是一个非常常用的按钮组件,支持不同形状和颜色的按钮,以及禁用状态。示例代码如下:

<van-button type="primary">主要按钮</van-button>
<van-button type="dashed">虚线按钮</van-button>
<van-button disabled>禁用按钮</van-button>

2.2 Form(表单)

Vant 的 Form 组件包含了常见的表单元素,如输入框、选择器、开关等。示例代码如下:

<van-field v-model="username" label="用户名" placeholder="请输入用户名"></van-field>
<van-field v-model="password" label="密码" placeholder="请输入密码"></van-field>

2.3 Carousel(轮播图)

Vant 的 Carousel 组件是一个轮播图组件,可以用于展示图片或视频。示例代码如下:

<van-carousel><van-carousel-item title="图片1">图片描述1</van-carousel-item><van-carousel-item title="图片2">图片描述2</van-carousel-item>
</van-carousel>

3. Vant 组件的使用

在使用 Vant 之前,我们需要先安装 Vant:

npm i vant -S --production

或者使用 yarn:

yarn add vant --production

安装完成后,我们可以在项目的 main.js 文件中引入并注册 Vant:

import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css';Vue.use(Vant);

现在我们可以在我们的项目中使用 Vant 提供的组件了。以上面的 Carousel 组件为例,我们可以在一个 Vue 组件中使用如下代码:

<template><div><van-carousel><van-carousel-item title="图片1">图片描述1</van-carousel-item><van-carousel-item title="图片2">图片描述2</van-carousel-item></van-carousel></div>
</template>

这样我们就成功地使用了 Vant 的 Carousel 组件。需要注意的是,Vant 的所有组件都遵循 BEM(Block、Element、Modifier)命名规范,我们在编写自己的代码时也可以参考这一规范。例如,我们的 Carousel 组件可能包含一个 Block(<van-carousel>)、两个元素(<van-carousel-item>)和一个修饰符(--size),所以我们可以命名为 MyCarousel.vue。这样的好处是,当我们的项目变得越来越大时,可以通过 BEM 命名规范快速定位到相关的代码。

效果图:

Cell(单元格)

Cell 是一个常用的列表项组件,用于展示一条信息。它包含一个标题和对应的内容。

用法示例:

<template><vant-cell title="用户名" value="John Doe"></vant-cell>
</template>

效果图:

Icon(图标)

Icon 用于展示一个图标,可以是内置的图标,也可以是自定义的图标。

用法示例:

<template><vant-icon name="star"></vant-icon>
</template>

效果图:

Tab(标签页)

Tab 是一个常用的选项卡组件,用于在多个内容之间切换。

用法示例:

<template><vant-tab><vant-tab-item title="标签一">内容一</vant-tab-item><vant-tab-item title="标签二">内容二</vant-tab-item></vant-tab>
</template>

效果图:

自定义主题

Vant 支持自定义主题,可以根据项目需求修改组件的样式。可以通过以下步骤进行配置:

  1. 在项目的根目录下创建一个 vant-theme.less 文件,用于存放自定义主题的样式。

  2. vant-theme.less 文件中,使用变量覆盖的方式修改组件的样式。例如,我们要修改 Button 组件的主题颜色,可以添加以下代码:

    // vant-theme.less
    @button-primary-color: #ff0000;
    
  3. 在项目的入口文件中引入 vant-theme.less 文件,并重新编译项目的样式。

    import 'vant-theme.less';
    
  4. 现在 Button 组件的主题颜色已经被修改为红色了。

使用插件

除了常用组件外,Vant 还提供了一些实用的插件,以增强开发体验。

Toast(轻提示)

Toast 是一个简单的消息提示组件,用于显示一条短暂的消息。

用法示例:

import { Toast } from 'vant';Toast.success('操作成功');

效果图:

Dialog(对话框)

Dialog 是一个弹窗组件,用于展示一段内容或进行一些操作。

用法示例:

import { Dialog } from 'vant';Dialog.alert({message: '这是一段内容',title: '提示',
});

效果图:

Lazyload(图片懒加载)

Lazyload 是一个图片懒加载的插件,用于延迟加载页面中的图片,提高页面加载性能。

用法示例:

import { Lazyload } from 'vant';
Vue.use(Lazyload);
<template><img v-lazy="imageSrc" alt="图片">
</template>

总结

本文介绍了 Vant 组件库的入门知识,并提供了常用组件的用法示例和效果图,以及如何自定义主题和使用插件。希望通过本文的介绍,能够帮助你快速上手使用 Vant 进行移动应用的开发。

相关文章:

Vant组件库入门知识

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…...

Java字符串查找

目录 1.查找字符 &#xff08;1&#xff09;以索引查找字符 &#xff08;2&#xff09;以字符查找索引 2.查找字符串 在给定的字符串中查找需要的字符或字符串是常见的操作&#xff0c;以下是String类中常用的查找方法。 1.查找字符 查找字符分为两种情况&#xff1a;一种…...

2023年7月京东投影仪行业品牌销售排行榜(京东大数据)

鲸参谋监测的京东平台7月份投影仪行业销售数据已出炉&#xff01; 7月份&#xff0c;投影仪市场呈现增长趋势。根据鲸参谋平台的数据可知&#xff0c;7月京东平台投影仪的销量将近20万&#xff0c;同比增长约16%&#xff1b;销售额将近3.8亿&#xff0c;同比增长约4%。 ​*数据…...

设计模式-01简单工厂模式详解 详细代码对比

目录 ChatGpt问答原生代码简单工厂模式代码 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;新增boat 对比两种方法原生代码为什么使用强制转换&#xff1f;简单工厂模式 简单工厂方法总结与原生代码的区别&#xff1a;优点:缺点&#xff1a; 参考 本文将介绍什么…...

IPD-PDT-POP角色的名称、定位和职责说明书

在IPD推进中&#xff0c;有一个不是很关键但却离不开的角色叫做POP&#xff0c;POP这个角色通常是设置在PDT团队中。 那么IPD的PDT团队中的POP这个角色到底是什么意思呢&#xff1f;POP如何开展工作&#xff0c;以及POP的主要岗位职责有哪些呢&#xff1f;华研荟今天给大家分享…...

在MySQL中查看数据库和表的数据大小

在MySQL中查看数据库和表的数据大小 在管理和维护MySQL数据库时&#xff0c;了解数据库和表的数据大小是非常重要的。这可以帮助您监控数据库的增长、优化性能以及规划存储需求。本博客将介绍如何使用SQL查询来查看MySQL数据库和表的数据大小。 查看MySQL数据库的总数据大小 …...

Android前端音视频数据接入GB28181平台意义

技术背景 在华脉智联研发Android平台GB28181前端音视频接入模块之前&#xff0c;业内听到最多的是&#xff0c;如何用Android端在没有国标摄像头设备的前提下&#xff0c;模拟GB28181的信令和媒体流交互流程&#xff0c;实现GB28181整体方案的测试。 Android端真的没有必要做…...

Ubuntu 20.04上docker安装Redis

要在Ubuntu 20.04上使用Docker安装Redis&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1.更新系统包列表&#xff1a;sudo apt update2.安装Docker&#xff1a;sudo apt install docker.io3.启动Docker服务并设置其开机自启动&#xff1a;sudo systemctl start docker …...

linux 压缩webfile文件夹 webfile.tar.gz和webfile.tar的区别

linux 压缩webfile文件夹 在Linux中&#xff0c;你可以使用tar命令来压缩文件夹。以下是将文件夹压缩为名为"webfile.tar"的示例命令&#xff1a; cd到webfile所在的文件夹&#xff0c;然后执行 tar -cvf webfile.tar webfile/上述命令中&#xff0c;-c选项表示创建…...

基于SSM的农产品推广应用网站

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

人大金仓分析型数据库身份鉴别

目录 前言 数据库总参数 口令尝试次数 口令更换周期 明文密码替换 用户登录信息显示 前言 身份鉴别功能包含口令尝试次数限制、口令更换周期管理、明文密码替换和用户登录信息显示等几部分。 数据库总参数 identity_auth.enable 是否使用身份鉴别功能&#xff0c;布尔值…...

基于SpringBoot的在线教育平台系统

基于SpringBootVue的线教育平台系统&#xff0c;前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、学生、老师 …...

基于大规模测量和多任务深度学习的电子鼻系统目标识别、浓度预测和状态判断

Target discrimination, concentration prediction, and status judgment of electronic nose system based on large-scale measurement and multi-task deep learning 摘要 为了实现响应特征的自动提取&#xff0c;简化模型的训练和应用过程&#xff0c;设计了一种双块知识…...

Unity游戏客户端进阶路线(只针对本人)

一、初级Unity游戏开发工程师需要掌握以下内容&#xff1a; 1.掌握编程语言&#xff0c;一般都会学C#&#xff0c;需要掌握C#编程语言的基础内容以及Unity3D的引擎配置。 2.掌握Unity引擎&#xff0c;对使用的引擎有深入的了解&#xff0c;掌握它的特性以及局限性。 3.熟悉游戏…...

【C++】封装map和set(红黑树实现)

前言&#xff1a; 前面&#xff0c;我们学习了set和map的用法&#xff0c;这两个容器可以完成查找&#xff0c;排序等操作&#xff0c;后来我们在学习过二叉搜索树的基础上又学习了两种特殊的二叉搜索树——AVL树和红黑树&#xff0c;他们俩可以是效率进一步提高&#xff0c;其…...

【补】代码随想录算法训练营day38|动态规划 |509. 斐波那契数|70. 爬楼梯|746. 使用最小花费爬楼梯

动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的&#xff0c;这一点就区分于贪心&#xff0c;贪心没有状态推…...

C语言sizeof()计算空间大小为8的问题

在练习数据结构过程中&#xff0c;定义指针p&#xff0c;并且申请了10个char类型空间&#xff0c;但在计算p所指空间大小时候&#xff0c;发现了一些奇怪的现象。 #include <stdio.h> #include <stdlib.h>int main(){char s[12];printf("the size of memory …...

时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化

时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化 目录 时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 LMD局部均值分解 直接替换Excel即可运行包含频谱图相关系数图 Matlab语言 1.算法新颖…...

景区AR虚拟三维场景沉浸式体验成为新兴的营销手段

科技的迅速崛起正在改变我们的世界&#xff0c;旅游业也在这股浪潮中掀起了一场全新的变革。增强现实(AR)技术正成为旅行中的一股强大力量&#xff0c;通过增添趣味和交互性&#xff0c;为旅程注入了前所未有的活力。本文将带您深入了解AR如何为旅游带来全新的体验&#xff0c;…...

【深度学习】 Python 和 NumPy 系列教程(五):Python容器:3、集合Set详解(初始化、访问元素、常用操作、常用函数)

目录 一、前言 二、实验环境 三、Python容器&#xff08;Containers&#xff09; 0、容器介绍 1、列表&#xff08;List&#xff09; 2、元组&#xff08;Tuple&#xff09; 3、集合&#xff08;Set&#xff09; 1. 初始化 2. 访问集合元素 3. 常用操作 a. 添加单个…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)

Name&#xff1a;3ddown Serial&#xff1a;FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名&#xff1a;Axure 序列号&#xff1a;8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...

英国云服务器上安装宝塔面板(BT Panel)

在英国云服务器上安装宝塔面板&#xff08;BT Panel&#xff09; 是完全可行的&#xff0c;尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎&#xff0c;虽然官方主要面向中国大陆…...