详解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 相关文章推荐
使用新的消息弹出框blackbirdjs
Oct 16 Javascript
javascript new一个对象的实质
Jan 07 Javascript
js 返回时间戳所对应的具体时间
Jul 20 Javascript
基于jQuery的计算文本框字数的代码
Jun 06 Javascript
AngularJS教程之环境设置
Aug 16 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
记一次webapck4 配置文件无效的解决历程
Sep 19 Javascript
JS使用iView的Dropdown实现一个右键菜单
May 06 Javascript
7个好用的JavaScript技巧分享(译)
May 07 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
Jun 21 Javascript
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
详解如何搭建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
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
简单的js表格操作
2016/09/24 Javascript
javascript实现下雨效果
2017/03/27 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
Python实现的tab文件操作类分享
2014/11/20 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
django中间键重定向实例方法
2019/11/10 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
python中sys模块是做什么用的
2020/08/16 Python
python 装饰器重要在哪
2021/02/14 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
Gap英国官网:Gap UK
2018/07/18 全球购物
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
电子商务专业推荐信范文
2013/12/02 职场文书
任命书范本大全
2014/06/06 职场文书
市级三好学生评语
2014/12/29 职场文书
可怜妈妈观后感
2015/06/09 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers