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

vant组件库的简单使用

1. 组件库的选择

组件库并不是唯一的,常用的组件库还有以下几种:

pc 端:element-uielement-plus iviewelement-plus iviewant-design
移动端:vant-uiMint UI (饿了么)Cube UI (滴滴)

2. vant组件库

  • 主要参考官网:Vant官网

3. vant按需导入(官网推荐)

参考官网:Vant官网

步骤如下:

  1. 安装vant-ui
yarn add vant@latest-v2
  1. 安装一个插件
yarn add babel-plugin-import -D
  1. babel.config.js中配置
module.exports = {presets: ['@vue/cli-plugin-babel/preset'],plugins: [['import', {libraryName: 'vant',libraryDirectory: 'es',style: true}, 'vant']]
}
  1. 把引入组件的步骤抽离到单独的js文件中,比如 utils/vant-ui.js
import { Button, Icon } from 'vant'Vue.use(Button)
Vue.use(Icon)
  1. 在main.js中进行导入即可
// 导入按需导入的配置文件
import '@/utils/vant-ui'
  1. 测试:在app.vue中进行测试
<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>

4. 导入所有组件(不推荐)

参考官网:vant官网

  1. 安装vant-ui
yarn add vant@latest-v2
  1. 在main.js中
import Vant from 'vant';
import 'vant/lib/index.css';
// 把vant中所有的组件都导入了
Vue.use(Vant)
  1. 即可使用
<van-button type="primary">主要按钮</van-button>
<van-button type="info">信息按钮</van-button>

5. 项目中的vw适配

官方说明:浏览器适配

  1. 安装插件

postcss-px-to-viewport 是一款 PostCSS 插件,用于将 px 单位转化为 vw/vh 单位。

yarn add postcss-px-to-viewport@1.1.1 -D
  1. 项目根目录, 新建postcss的配置文件postcss.config.js
// postcss.config.js
module.exports = {plugins: {'postcss-px-to-viewport': {viewportWidth: 375,},},
};

说明:viewportWidth:设计稿的视口宽度

  • vant-ui中的组件就是按照375的视口宽度设计的,具体场景需要进行修改

toast 轻提示

参考:vant官网

两种使用方式

  1. 导入调用 ( 组件内非组件中均可 )
import { Toast } from 'vant';
Toast('提示内容');
  1. 通过this直接调用 ( 组件内 使用)
  • 添加到单独 utils/vant-ui.js 文件中 或 main.js 注册绑定到原型
import { Toast } from 'vant';
Vue.use(Toast)
this.$toast('提示内容')

相关文章:

  • Docker(四)操作容器
  • 庞加莱猜想:从三维空间到数学的顶峰
  • 2023年总结我所经历的技术大变革
  • 【大数据】流处理基础概念(一):Dataflow 编程基础、并行流处理
  • 【JavaScript】事件监听:表单事件(上篇)
  • electron源码下载及编译
  • 如何有效清理您的Python环境:清除Pip缓存
  • Qt事件过滤
  • 【问题+解决】axios/vue/element/echarts引入报错
  • centos 安装rabbitmq集群
  • C++总结笔记
  • 力扣2788-按分隔符拆分字符串
  • algotithm -- 排序算法
  • 《WebKit 技术内幕》之五(3): HTML解释器和DOM 模型
  • SpringSecurity+OAuth2.0 搭建认证中心和资源服务中心
  • 03Go 类型总结
  • Docker: 容器互访的三种方式
  • JavaScript实现分页效果
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Python利用正则抓取网页内容保存到本地
  • React Transition Group -- Transition 组件
  • React系列之 Redux 架构模式
  • 闭包--闭包作用之保存(一)
  • 测试开发系类之接口自动化测试
  • 规范化安全开发 KOA 手脚架
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 深入浅出webpack学习(1)--核心概念
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 用element的upload组件实现多图片上传和压缩
  • 追踪解析 FutureTask 源码
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​第20课 在Android Native开发中加入新的C++类
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (备忘)Java Map 遍历
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (多级缓存)多级缓存
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (十三)Maven插件解析运行机制
  • (四)库存超卖案例实战——优化redis分布式锁
  • (一)SpringBoot3---尚硅谷总结
  • (转)nsfocus-绿盟科技笔试题目
  • (转载)深入super,看Python如何解决钻石继承难题
  • .gitattributes 文件
  • .net 7 上传文件踩坑
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .Net中ListT 泛型转成DataTable、DataSet
  • .net中的Queue和Stack
  • [1181]linux两台服务器之间传输文件和文件夹
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子