首页 > 其他分享 >前端【Vant】01-移动端组件库

前端【Vant】01-移动端组件库

时间:2024-04-08 17:37:02浏览次数:10  
标签:01 Vant Button Vue 组件 import vant

1、介绍

  Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。

  目前 Vant 官方提供了 Vue 2 版本Vue 3 版本微信小程序版本,并由社区团队维护 React 版本支付宝小程序版本

2、安装

1 # Vue 3 项目,安装最新版 Vant:
2 npm i vant -S
3 
4 # Vue 2 项目,安装 Vant 2:
5 npm i vant@latest-v2 -S

3、项目引入

  创建vue项目,然后在main.js中引入vant组件

  方式一. 自动按需引入组件 (推荐)

    babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式。

1 # 安装插件
2 npm i babel-plugin-import -D

  配置

 1 // 在.babelrc 中添加配置
 2 // 注意:webpack 1 无需设置 libraryDirectory
 3 {
 4   "plugins": [
 5     ["import", {
 6       "libraryName": "vant",
 7       "libraryDirectory": "es",
 8       "style": true
 9     }]
10   ]
11 }
12 
13 // 对于使用 babel7 的用户,可以在 babel.config.js 中配置
14 module.exports = {
15   plugins: [
16     ['import', {
17       libraryName: 'vant',
18       libraryDirectory: 'es',
19       style: true
20     }, 'vant']
21   ]
22 };

方式二. 手动按需引入组件

1 import Button from 'vant/lib/button';
2 import 'vant/lib/button/style';

方式三. 导入所有组件

  Vant 支持一次性导入所有组件,引入所有组件会增加代码包体积,因此不推荐这种做法

1 import Vue from 'vue';
2 import Vant from 'vant';
3 import 'vant/lib/index.css';
4 
5 Vue.use(Vant);

4、组件注册

  全局注册

  全局注册后,你可以在 app 下的任意子组件中使用注册的 Vant 组件。

 1 import Vue from 'vue';
 2 import { Button } from 'vant';
 3 
 4 // 方式一. 通过 Vue.use 注册
 5 // 注册完成后,在模板中通过 <van-button> 或 <VanButton> 标签来使用按钮组件
 6 Vue.use(Button);
 7 
 8 // 方式二. 通过 Vue.component 注册
 9 // 注册完成后,在模板中通过 <van-button> 标签来使用按钮组件
10 Vue.component(Button.name, Button);

  局部注册

  局部注册后,你可以在当前组件中使用注册的 Vant 组件。

1 import { Button } from 'vant';
2 
3 export default {
4   components: {
5     [Button.name]: Button,
6   },
7 };

4、使用

main.js内容

 1 import Vue from 'vue'
 2 import App from './App.vue'
 3 
 4 // 导入组件
 5 import Vant from 'vant'
 6 // 导入组件样式库
 7 import 'vant/lib/index.css'
 8 // 全局注册vant
 9 Vue.use(Vant)
10 
11 Vue.config.productionTip = false
12 
13 new Vue({
14   render: h => h(App)
15 }).$mount('#app')

在App.vue中使用相关组件

 1 <template>
 2   <div class="app">
 3     <van-button type="primary">主要按钮</van-button>
 4     <van-button type="info">信息按钮</van-button>
 5     <van-button type="default">默认按钮</van-button>
 6     <van-button type="warning">警告按钮</van-button>
 7     <van-button type="danger">危险按钮</van-button>
 8   </div>
 9 </template>
10 <script>
11 export default {
12 }
13 </script>
14 <style>
15 </style>

启动服务,查看样式加载情况,npm run serve

  

 

标签:01,Vant,Button,Vue,组件,import,vant
From: https://www.cnblogs.com/wang1001/p/18121803

相关文章

  • Vite+Vue3.0项目使用ant-design-vue <a-calendar>日期组件汉化
    antd的弹框、日期等默认为英文,要把英文转为中文请看下文:1.首先我们要在main.js中引入ant-design组件库并全局挂载:importAppfrom'./App'importAntdfrom'ant-design-vue';import'ant-design-vue/dist/antd.css';constapp=createApp(App);app.use(Antd);2.然......
  • vue3使用van-picker组件时,滑动选中某个数值时在旁边相应显示单位
    vant的官方文档中没有支持这种需求的属性或方法,所以只能自己找别的方法。方法一van-picker控件选中某个元素时,该元素会有一个类名van-picker-column__item–selected我们可以在css里给这个类名通过::after,即使用伪类,来添加单位.van-picker-column__item--selected::aft......
  • Python学习笔记-001
    记录一下重学python,虽然python老早就接触了,更多的还是停留在语法层面,老c++了。最近打算从头开始系统拉一下python的基础,先预计8天学完。后面还打算系统学一下Numpy,Pandas和Matplotlib。python基础教程python简介检查是否安装python,终端输入python--versionpython是一种解释......
  • 001-洞中兽
    洞中兽TheBeastintheCave背景此短篇小说的初稿是洛夫克拉夫特大约于1904年春天之前写成的,终稿于1905年4月21日完成。由于作者本人并没有洞穴居住的亲身经历,所以他花了几天的时间待在普罗维登斯公共图书馆里,潜心研究本篇小说的发生地——位于美国肯塔基州中部的猛犸洞国......
  • ACM2012-900-2P-T001 贴片共模电感
    ACM2012-900-2P-T001规格信息:系列:ACM高度:1.3mm长度:2mm类型:CommonModeFiltersforHigh-SpeedDifferentialSignalLine,GeneralSignalLine宽度:1.2mm阻抗:90Ohms安装风格:SMD/SMT最大直流电阻:190mOhms最大直流电流:400mA测试频率:100MHz滤波器类型:信号线线路数:2不同......
  • P3745 [六省联考 2017] 期末考试
    原题链接题解令\(f(x)\)代表所有课的发布时间都小于等于x时的不愉快值之和,x越小,AB消耗越大,x越大,C消耗越大,所以感性的想象\(f(x)\)是一个下凹函数然后就可以快乐三分了code#definellunsignedlonglong#include<bits/stdc++.h>usingnamespacestd;inlinevoidread......
  • 个人博客项目笔记_01
    1.工程搭建前端的工程运行流程:进入项目目录执行cmd命令:若是第一次启动需要依次输入如下命令:npminstallnpmrunbuildnpmrundev之后直接执行npmrundev即可!1.1新建maven工程新建maven工程blog作为父工程,然后在父工程中创建子工程blog-api向父工程的pom.xml文件......
  • 假设a=3’b101,b=3’b001,下列描述错误的是()。
    选项:A、~^a=1'b0B、a<<2=3'b100C、(a<b)?1:0=0D、{3{2'b10}=6’b101010答案:A解析:归约操作符包括:归约与(&),归约与非(&),归约或(|),归约或非(|),归约异或(),归约同或(~)。归约操作符只有一个操作数,它对这个向量操作数逐位进行操作,最终产生一个1bit结果。~^a=~(1'b1^1'b0^1'b1)=~(1......
  • Django框架之序列化组件
    一、为什么要序列化呢?我们在写一些项目前后端是分离的,这意味着无法直接利用django提供的模版语法来实现前后端的数据交互,需要将数据转换成前后端都能接收处理的格式,即json,一般的格式都是列表套字典。那么我的前端想拿到由ORM得到的数据库里面的一个个用户对象,而我的后端也想直接......
  • Java安全入门基础知识篇-01
    1.Intellij一些快捷键intell常用快捷键:ctrl+n快速查找定位类的位置ctrl+q快速查看某个类的文档信息shift+F6快速类、变量重命名ctrl+i在当前类实现接口的方法ctrl+o复写基类的方法ctrl+shift+空格推荐适用于当前函数的变量alt+insert快速设置类的方法ct......