Vant库的使用,及日期组件的一些注意点

2023-11-01

Vant库对于开发商城类项目,真的是非常nice,会让你情不自禁爱上它。Vant库支持按需加载、为移动端商城设计的风格,非常完美。但是,本人在实际开发中,也遇到了一些小问题,折腾了老半天,最终得以解决。下面先说说在vue中使用Vant库的流程及一些注意事项,以及遇到的坑和解决办法。

首先送上官网传送门:www.youzanyun.com/zanui/vant#…,具体的api可自行查阅使用。

第一步,安装:

cnpm i vant -S
复制代码

第二步,引入组件:

关于怎么引入Vant组件,有全局引入(非常不推荐)和按需引入两种方式

这里演示按需引入的方式,因为官网说的稍微有些复杂,对于一些刚接触的小伙伴,可能会造成一些误解(PS:我在刚开始接触的时候这里就蹲了两个坑,简直欲哭无泪呀~)。直接说怎么用吧:

  • 为了方便我们按需引入组件,这里还需要安装一个插件

cnpm i babel-plugin-import -D
复制代码

  • 安装好该插件好,还需要在.babelrc文件中plugins那里进行一个简单的配置,这里附上完整的plugins部分内容。这里我们在plugins数组中插入了import那个数组,其他内容是原来就有的。

"plugins": [    
    "transform-vue-jsx",     
    "transform-runtime",    
    ["import", {      
        "libraryName": "vant",      
        "libraryDirectory": "es",      
        "style": true    
    }]
]复制代码

  • 完成好配置后,在main.js中按需引入你需要的组件。例如这里引入Vant的button组件:

import { Button } from 'vant'; // 在mian.js中通过import导入组件,多个组件直接在{,,,}加入即可
Vue.use(Button); //让vue加载该组件如果还需要用其他组件,可以这样写Vue.use(Button).use().user();复制代码

<van-button type="default">默认按钮</van-button> // 在template中使用组件复制代码
  • 这里提一点,如果是类似Toast这种组件,只需要在main.js中引入就好:
import { Toast } from 'vant';

// 然后在你需要的页面直接这样使用就好
// 只要引入后,vant就会自动把Toast组件挂在vue的原型上Vue.prototype.$Toast = Toast;
this.$Toast('message');复制代码


可以看到,这里button组件以及正常导入使用了。Vant中还有更多适合实际开发的功能更丰富的组件,小伙伴们自行查阅官方文档使用吧。附官网API文档传送门:www.youzanyun.com/zanui/vant#…


最后,在说一个关于Vant日期组件使用时所遇到的一个大坑。

Vant日期组件的官网api没有给出关于事件函数的使用demo,到时小编在使用时不小心迈进了一个大坑。就是change或者confirm事件时,怎么都获取不到回调参数,即在点击确定时回去不到返回的选中时间,总是提示undefined或者null。下面是小编错误的写法,大家不要踩坑:

<!--这是html部门-->
<van-datetime-picker      
    v-model="currentDate"      
    type="datetime"      
    @confirm="confirm()"      
    @change="change()" />

// 这是对应的方法
methods: {
    confirm(val) {
       console.log(val)
    },
    change(e) {
       console.log(e.getValues())
    }
}复制代码

乍一看,是按照文档上说的方式使用的呀,可是不仅confirm没有返回选中的日期时间,change事件的各种回调方式也使用不了。但是吧,如果你要打印1,又可以打印出来,说明接口走这个方法了。到底怎么回事呢,选中的时间怎么就出不来呢?小编差点都要怀疑是不是这个Vant组件有问题了!

说重点:后来小编终于找到了解决办法:

原来是这里出了问题,@confirm="confirm()" @change="change()" 

这里多加了一对括号,正确的写法是

<!--这是html部分-->
<van-datetime-picker      
    v-model="currentDate"      
    type="datetime"      
    @confirm="confirm"      
    @change="change" 
/>

// 这是对应的方法
methods: {
    confirm(val) {
       console.log(val) // 打印出了时间
    },
    change(e) {
       console.log(e.getValues()) // 打印出了选中的时间,是个数组
    }
}复制代码

到这,问题圆满解决了!希望对小伙伴们有帮助


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vant库的使用,及日期组件的一些注意点 的相关文章

随机推荐

  • 调试最长的一帧(第17天)

    先看看流程 电子书上介绍了渲染器osgViewer Renderer类 osgViewer Renderer为摄像机渲染场景的工作提供了一个公共接口 当我们向视景器viewer添加了一个新的摄像机camera时 一个与摄像机相关联的渲染器R
  • 不止是Android,Github超高影响力开源大放送,学习开发必备教科书

    http www cnblogs com liushilin p 6378607 html 1 free programming books https github com vhf free programming books 这个项目目
  • centos7下安装flex,bison

    centos7下安装flex bison 1 修改镜像源为国内镜像源 比如阿里云 1 首先备份系统自带yum源配置文件 etc yum repos d CentOS Base repo root fengyi flex cp etc yum
  • 终于解决DELL台式机的风扇噪音变大的问题

    我的这台电脑是今年7月中旬买的 是DELL 的5150 刚到家的时候 几乎没有什么噪音 很安静 我当时还在感叹DELL的降噪音技术做得如此之好 但到九月份的时候 发现噪音有些变大 尤其在运行需大量运算的程序时 我当时也没多想 但发现就算上新
  • Json Path提取器

    一 Json Path提取器截图 二 Json Path提取器使用说明 http响应的Json结果如下图 数据来源 可以是Http请求的响应结果或者JMeter变量值 目标变量名和Json Path表达式 将Json Path提取出的结果存
  • 共享里的文件被删除了怎么办?可尝试这三种恢复方法

    共享里的文件被删除了怎么恢复 删除之后就马上去回收站找 可是没回收站里没有怎么办 来自某xx小伙伴的咨询 如果你也出现同样的疑惑 那么可以尝试下面的三种方法恢复共享里的文件 方法一 以前的版本恢复 从Windows XP SP2和Windo
  • python安装到一半停止_关于python:使用requirements.txt进行安装时,停止单个包上的pip失败...

    我正在安装requirements txt中的包 pip install r requirements txt requirements txt文件显示 Pillow lxml cssselect jieba beautifulsoup n
  • 外设驱动库开发笔记3:AD527x系列数字电位器驱动

    在一些时候我们需要使用精度更高的数字电位器来实现我们的应用 我们经常使用AD527x系列数字电位器来实现这类应用 在通常情况下 AD527x系列数字电位器完全能够满足要求 为了减少重复工作 在这里我们将分系并实现AD527x系列数字电位器的
  • 12月31日写成13月1日引发重大 Bug,程序员新年就要被“祭天”?

    元旦放假 宅家大扫除成了头等大事 这不 小白鲸扫地机器人竟然选择了 罢工 不少用户反馈小白鲸拖地机器人指示灯一直异常无法工作 到底是什么鬼呢 官方排查发现 是的 你没看错 Bug 原因是程序员小哥哥把 12 月 31 日写成了 13 月 1
  • C4.5算法详解(非常仔细)

    首先 C4 5是决策树算法的一种 决策树算法作为一种分类算法 目标就是将具有p维特征的n个样本分到c个类别中去 相当于做一个投影 c f n 将样本经过一种变换赋予一种类别标签 决策树为了达到这一目的 可以把分类的过程表示成一棵树 每次通过
  • VUE报错 plugin-vue requires vue (>=3.2.13) or @vue/compiler-sfc to be present in the dependency tree

    VUE运行报错 vitejs plugin vue requires vue gt 3 2 13 or vue compiler sfc to be present in the dependency tree 运行 npm install
  • [系统安全] 四十九.恶意软件分析 (5)Cape沙箱分析结果Report报告的API序列批量提取详解

    终于忙完初稿 开心地写一篇博客 您可能之前看到过我写的类似文章 为什么还要重复撰写呢 只是想更好地帮助初学者了解病毒逆向分析和系统安全 更加成体系且不破坏之前的系列 因此 我重新开设了这个专栏 准备系统整理和深入学习系统安全 逆向分析和恶意
  • android设置布局高度的属性,Android内部分享[9]——约束布局 ConstraintLayout 的使用...

    ConstraintLayout 允许您创建具有平面视图层次结构 没有嵌套视图组 的大型复杂布局 它类似于 RelativeLayout 因为所有视图都是根据兄弟视图和父视图布局之间的关系来布局的 但是它比 RelativeLayout 更
  • 移动机器人定位(amcl)

    1 定位 amcl 1 1找到amcl自带功能包 amcl diff launch
  • 使用Python调用百度地图的API在地图上添加标记

    写在前面 近期博主工作太忙 快一个月没更新博客 今天跑了大半天的腿 被一堆破事儿弄的无比憋屈 写篇博客调节一下心情 博主的目的是在地图上做一些标记 然后保存为html网页文件 这样方便我的软件调用 前期我使用的folium包 这个包很强大
  • Kylin ext3/4 xfs手动扩容根分区

    1 环境 云平台 兼容OpenStack Queens的发行版 HOST OS Kylin Server 10 SP1 Release Build20 20210518 arm64 虚拟机镜像ISO Kylin Server V10 GFB
  • Flask-模板

    视图函数的作用是生成请求的响应 但是直接在视图函数里处理业务逻辑和表现逻辑 会显的代码混乱 可以把表现逻辑移到模板中 模板是包含响应文本的文件 其中包含用占位变量表示的动态部分 其具体值只在请求的上下文中才能知道 使用真实值替换变量 再返回
  • IT行业相关技术介绍

    IT行业常见技术体系 一 前端开发 前端开发是创建WEB页面 网页 或APP等前端界面呈现给用户的过程 通过HTML CSS JavaScript以及衍生出来各种技术 框架 来实现互联网产品的用户界面交互 1 核心技术 1 HTML 网页的
  • Gitlab详细使用说明

    1 下载安装 下载gitlab和安装就不用详细说了 下载可以到官网下载 官网下载速度慢的 可以到我网盘下载 网盘地址链接 https pan baidu com s 1LZ6wq0PZNyB5SzGAzd74ew 提取码 uccq 2 使用
  • Vant库的使用,及日期组件的一些注意点

    Vant库对于开发商城类项目 真的是非常nice 会让你情不自禁爱上它 Vant库支持按需加载 为移动端商城设计的风格 非常完美 但是 本人在实际开发中 也遇到了一些小问题 折腾了老半天 最终得以解决 下面先说说在vue中使用Vant库的流