详解mpvue中使用vant时需要注意的onChange事件的坑


Posted in Javascript onMay 16, 2019

最近用了一下Vant Weapp组件库,但是由于我是用mpvue写的,所以自然跟小程序引用不一样,比如我最近引用了vant里面的collapse折叠面板,官网文档里面介绍的使用方法是这样的

1.在 app.json 或 index.json 中引入组件

"usingComponents": {
 "van-collapse": "path/to/vant-weapp/dist/collapse/index",
 "van-collapse-item": "path/to/vant-weapp/dist/collapse-item/index"
}

2.通过value控制展开的面板列表,activeNames为数组格式

<van-collapse value="{{ activeNames }}">
 <van-collapse-item title="有赞微商城" name="1">
  提供多样店铺模板,快速搭建网上商城
 </van-collapse-item>
 <van-collapse-item title="有赞零售" name="2">
  网店吸粉获客、会员分层营销、一机多种收款,告别经营低效和客户流失
 </van-collapse-item>
 <van-collapse-item title="有赞美业" name="3" disabled>
  线上拓客,随时预约,贴心顺手的开单收银
 </van-collapse-item>
</van-collapse>
Page({
 data: {
  activeNames: ['1']
 },
 onChange(event) {
  this.setData({
   activeNames: event.detail
  });
 }
});

但是在mpvue里面不能直接这样引入

下面是我的代码

<van-collapse :value="activeNames" @change="onChange($event)">
 <van-collapse-item title="有赞微商城" name="1">
  提供多样店铺模板,快速搭建网上商城
 </van-collapse-item>
 <van-collapse-item title="有赞零售" name="2">
  网店吸粉获客、会员分层营销、一机多种收款,告别经营低效和客户流失
 </van-collapse-item>
 <van-collapse-item title="有赞美业" name="3" disabled>
  线上拓客,随时预约,贴心顺手的开单收银
 </van-collapse-item>
</van-collapse>
export default {
 data () {
  return {
   activeName: '1'
  }
 },
 methods: {
  onChange (event) {
   console.log(event)
   this.activeName = event.mp.detail
  }
 }
}

得把原生小程序使用方式为改为mpvue 使用方式

首先是数据绑定方式

value="{{activeNames}}"

改为

v-bind:value="activeNames"
//或者
:value="activeNames"

然后是事件监听

在van-collapse组件里加个监听事件

@change="onChange($event)"

mpvue中获取event值也与原生小程序有所不同:

onChange(event){ // 获取表单组件filed的值
 console.log(event.mp.detail) // 注意加入mp
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery在vs2008及js文件中的无智能提示的解决方法
Dec 30 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
Treegrid的动态加载实例代码
Apr 29 Javascript
js多功能分页组件layPage使用方法详解
May 19 Javascript
关于javascript事件响应的基础语法总结(必看篇)
Dec 26 Javascript
javascript实现页面滚屏效果
Jan 17 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
Nov 21 Javascript
javascript字体颜色控件的开发 JS实现字体控制
Nov 27 Javascript
详解Node.js模板引擎Jade入门
Jan 19 Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 Javascript
Vue基于localStorage存储信息代码实例
Nov 16 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 #Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
May 16 #Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
May 16 #Javascript
怎样在vue项目下添加ESLint的方法
May 16 #Javascript
eslint 的三大通用规则详解
May 16 #Javascript
webpack项目使用eslint建立代码规范实现
May 16 #Javascript
Vue项目中使用jquery的简单方法
May 16 #jQuery
You might like
用PHP书写安全的脚本代码
2012/02/05 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
php的ajax简单实例
2014/02/27 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
python动态参数用法实例分析
2015/05/25 Python
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
python getpass模块用法及实例详解
2019/10/07 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
UGG英国官方网站:UGG UK
2018/02/08 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
远程教育心得体会
2014/01/03 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
2014年团总支工作总结
2014/11/21 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书