21-vant组件库
码路教育 8/17/2022
# 1. vant组件库
# 1.0 vant组件库-介绍
目标: vant是一个轻量、可靠的移动端 Vue 组件库, 开箱即用
特点:
- 提供 60 多个高质量组件,覆盖移动端各类场景
- 性能极佳,组件平均体积不到 1kb
- 完善的中英文文档和示例
- 支持 Vue 2 & Vue 3
- 支持按需引入和主题定制
# 1.1 全部引入
目标: 看官网文档, 下载, 引入vant组件库
全部引入, 快速开始:https://vant-contrib.gitee.io/vant/#/zh-CN/quickstart
全部引入, 快速开始: https://vant-contrib.gitee.io/vant/#/zh-CN/quickstart (opens new window)
下载Vant组件库到当前项目中
在main.js中全局导入所有组件,
使用按钮组件 – 作为示范的例子
- 下载vant组件库到当前项目中
yarn add vant -D
1
- 导入所有组件, 在main.js中
import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant);
1
2
3
4
5
2
3
4
5
使用按钮组件
https://vant-contrib.gitee.io/vant/#/zh-CN/button
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>
<van-button type="default">默认按钮</van-button>
<van-button type="warning">警告按钮</van-button>
<van-button type="danger">危险按钮</van-button>
1
2
3
4
5
2
3
4
5
# 1.2 手动按需引入
目标: 只引入使用的组件
// 方式2: 手动 按需引入
// import Button from 'vant/lib/button'; // button组件
// import 'vant/lib/button/style'; // button样式
1
2
3
2
3
- 注册
// components: { // 手动注册组件名
// // VanButton: Button
// // 等价的
// [Button.name]: Button
// }
1
2
3
4
5
2
3
4
5
- 使用
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>
<van-button type="default">默认按钮</van-button>
<van-button type="warning">警告按钮</van-button>
<van-button type="danger">危险按钮</van-button>
1
2
3
4
5
2
3
4
5
# 1.3 自动按需引入
目标: 按需加载组件
babel-plugin-import (opens new window) 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式。
- 安装插件
yarn add babel-plugin-import -D
1
- 在babel配置文件里 (babel.config.js)
module.exports = {
plugins: [
['import', {
libraryName: 'vant',
libraryDirectory: 'es',
style: true
}, 'vant']
]
};
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 全局注册 - 会自动按需引入
// 方式1: 全局 - 自动按需引入vant组件
// (1): 下载 babel-plugin-import
// (2): babel.config.js - 添加官网说的配置 (一定要重启服务器)
// (3): main.js 按需引入某个组件, Vue.use全局注册 - 某个.vue文件中直接使用vant组件
import {
Button
} from 'vant';
Vue.use(Button) // Button组件全局注册, 真正注册的组件名VanButton
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 1.4 弹出框使用
目标: 使用弹出框组件
https://vant-contrib.gitee.io/vant/#/zh-CN/dialog
<template>
<div>
<van-button type="primary" @click="btn">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>
<van-button type="default">默认按钮</van-button>
<van-button type="warning">警告按钮</van-button>
<van-button type="danger">危险按钮</van-button>
</div>
</template>
<script>
// 方式2: 手动 按需引入
// import Button from 'vant/lib/button'; // button组件
// import 'vant/lib/button/style'; // button样式
// 目标: 使用弹出框
// 1. 找到vant文档
// 2. 引入
// 3. 在恰当时机, 调用此函数 (还可以用组件的用法)
import { Dialog } from "vant";
export default {
// components: { // 手动注册组件名
// // VanButton: Button
// // 等价的
// [Button.name]: Button
// }
methods: {
btn() {
Dialog({ message: "提示", showCancelButton: true }); // 调用执行时, 页面就会出弹出框
},
},
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 1.5 表单使用
目标: 使用vant组件里的表单组件
https://vant-contrib.gitee.io/vant/#/zh-CN/form
表单验证规则: