快速上手Vant3

595 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第21天,点击查看活动详情

关于Vant

Vant 轻量、支持 TypeScript,Vue 2、Vue 3 和微信小程序都可以使用 Vant 组件库进行开发(其中 Vant 3 适用于 Vue3的开发)

组件库很全面,除了一些基础组件之外,还有业务组件,主要以商城类的应用场景为主

动画.gif

官方文档:Vant3 中文文档

安装

npm i vant  // Vue 3 项目(Vant 3)

npm i vant@latest-v2 // Vue 2 项目(Vant 2)

yarn add vant  // yarn 安装

引入

分为两种引入方式

  • 组件按需引入
  • 引入所有组件

1. 按需引入: vitewebpack 或 vue-cli 的项目中使用 Vant 时,分别有不同的插件配置方法。引入后在每个页面引入需要的组件即可。

2. 全局引入:

在 main.js 文件中,引入vant及其 css,并.use(vant)

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
 
import vant from 'vant';
import 'vant/lib/index.css';
 
createApp(App).use(router).use(vant).mount('#app')

3. script setup 语法糖写法: 如果是Vue3项目,使用这种方式较为方便,不需要进行组件注册

image.png

注:在 JSX 和 TSX 中可以直接使用组件,不需要注册

使用

以按钮的实现为例,组件语法以van-为前缀,根据官方案例直接使用即可。

image.png

其它使用

  1. 获取组件实例

在组件挂载之后可以获取到组建的实例,即放在 mounted 生命周期钩子中:

<van-form ref="form">  
// 表单项
</van-form>
mounted() {
    this.$refs.form;
}
  1. 浏览器配适

包括 Viewport 布局、Rem 布局适配、 桌面端适配、 底部安全区适配等,按需下载插件并配置即可。

因为 Vant 的组件库默认只适配了移动端设备,而桌面端没有监听鼠标的事件,所以如果需要桌面段的配置,还需要再安装并引入模块,将mouse 事件转换成对应的 touch 事件

npm i @vant/touch-emulator -S
import '@vant/touch-emulator';