详解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 相关文章推荐
在Javascript中定义对象类别
Dec 22 Javascript
node.js中的fs.close方法使用说明
Dec 17 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
Mar 13 Javascript
jQuery插件StickUp实现网页导航置顶
Apr 12 Javascript
举例讲解如何判断JavaScript中对象的类型
Apr 22 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
Sep 13 Javascript
Vue中的Props(不可变状态)
Sep 29 Javascript
webpack打包非模块化js的方法
Oct 24 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
Jan 18 Javascript
浅析JavaScript异步代码优化
Mar 18 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
类和原型的设计模式之复制与委托差异
Jul 07 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
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript时间函数大全
2014/06/30 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
python实用代码片段收集贴
2015/06/03 Python
python如何查看系统网络流量的信息
2016/09/12 Python
python书籍信息爬虫实例
2018/03/19 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
django 实现简单的插入视频
2020/04/07 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
升职自荐信范文
2013/10/05 职场文书
护士自我介绍信
2014/01/13 职场文书
旅游项目开发策划书
2014/01/18 职场文书
2014年元旦感言
2014/03/06 职场文书
村党支部公开承诺书
2014/05/29 职场文书
私人委托书格式
2014/09/10 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
工作收入证明范本
2015/06/12 职场文书
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python