vue-vant组件库

本文介绍了Vant组件库在Vue项目中的应用,包括如何在Vue2和Vue3中安装、按需导入组件、PC和移动端分类、以及底部导航、图标、轻提示、加载提示、Grid宫格、Search搜索和ActionSheet/Dialog弹出框等组件的使用方法和配置。
摘要由CSDN通过智能技术生成

组件库:第三方封装好了很多很多的组件,整合到一起就是一个组件库。

官网:Vant 2 - Mobile UI Components built on Vue

vant支持vue2,也支持vue3;vant2支持vue2,vant3、vant4支持vue3

分类

vue的组件库一般会按照不同平台进行分类:

1.PC端:element-ui(element-plus)、ant-design-vue(阿里)

element-ui支持v2

element-plus支持v3

ant-design-vue支持v2、v3

2.移动端:vant-ui、Mint UI(饿了么)、Cube UI(滴滴)

重点掌握vant-ui,更新效率比较高

安装

要注意安装版本

# Vue 3 项目,安装最新版 Vant:
npm i vant -S

# Vue 2 项目,安装 Vant 2:
npm i vant@latest-v2 -S
yarn add vant@latest-v2

 导入

全部导入:

在main.js中写入

import Vant from 'vant'
import 'vant/lib/index.css'

Vue.use(Vant)//插件安装初始化,内部会将所有的vant组件进行导入注册

按需导入:

1.安装插件

npm i babel-plugin-import -D
或
yarn add babel-plugin-import -D

-D: 把当前插件安装成开发依赖,仅仅在开发过程当中使用

2.babel.config.js中配置

上面是低版本写法,下面是高版本写法配合脚手架的形式

  plugins: [
    ['import', {
      libraryName: 'vant',
      libraryDirectory: 'es',
      style: true
    }, 'vant']
  ]

3.main.js按需导入注册

在src/utils文件夹下创建一个vant-ui.js文件

import Vue from 'vue'
import { Button } from 'vant'

Vue.use(Button)

在main.js中添加

import '@/utils/vant-ui'

postcss插件实现vw适配

安装插件

yarn add postcss-px-to-viewport@1.1.1 -D

根目录新建postcss.config.js文件,填入配置

module.exports = {
  plugins: {
    'postcss-px-to-viewport': {
      // vw适配的标准屏的宽度 iphoneX
      // 设计图 750,调成1倍=>适配375标准屏幕
      // 设计图 640,调成1倍=>适配320标准屏幕
      viewportWidth: 375
    }
  }
}

vant组件

底部导航tabbar

在src/utils/ vant-ui.js中添加

import { Tabbar, TabbarItem } from 'vant';

Vue.use(Tabbar);
Vue.use(TabbarItem);

把基础用法里的代码复制粘贴到页面中

icon图标

无需引入,直接使用

NavBar 导航栏

 left-arrow是左箭头

轻提示

两种使用方式

1.导入调用(组件内或非组件中均可,即.vue和.js文件下均可)

import { Toast } from 'vant'
Toast('提示内容');

2.通过this直接调用(必须组件内,只有.vue文件下可以)

this.$toast('提示文案');
加载提示
Toast.loading({
  message: '加载中...',
  forbidClick: true,
});

  Toast.loading({
    message: '加载中...',
    forbidClick: true,
    loadingType: 'spinner'// 配置loading图标
  })

不去配置什么的话,默认是2s后自动关闭;配置duration为0设置不会自动关闭

  Toast.loading({
    message: '加载中...',
    forbidClick: true, // 禁止背景点击
    loadingType: 'spinner', // 配置loading图标
    duration: 0// 不会自动消失
  })

关闭Toast提示

Toast.clear()

Toast默认是单例模式,后面的Toast调用了,会将前一个Toast效果覆盖,同时只能存在一个Toast

Grid 宫格

通过 icon 属性设置格子内的图标

Search 搜索

v-model 用于控制搜索框中的文字

ActionSheet 动作面板

v-model的值控制显示和隐藏

Dialog 弹出框

调用方式也是有两种,类似于轻提示

this.$dialog.confirm({ title: '温馨提示', message: '此时需要先登录才能继续操作哦' })
          .then(() => {
            //点击确认后触发事件
          })
          .catch(() => {
            //点击取消后触发事件
          })

       this.$dialog.confirm({
          title: '温馨提示',
          message: '此时需要先登录才能继续操作哦',
          confirmButtonText: '去登陆',//更换确认文本
          cancelButtonText: '再逛逛'//更换取消文本
        })

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值