详解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 日期时间函数(经典+完善+实用)
May 27 Javascript
jquery提示 &quot;object expected&quot;的解决方法
Dec 13 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
Jun 13 Javascript
javaScript中with函数用法实例分析
Jun 08 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
Dec 02 Javascript
Node.js的Express框架使用上手指南
Mar 12 Javascript
详解vue.js组件化开发实践
Dec 14 Javascript
微信小程序倒计时功能实例代码
Jul 17 Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 11 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
js中!和!!的区别与用法
May 09 Javascript
Moment的feature导致线上bug解决分析
Sep 23 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获取YouTube视频信息的方法
2015/02/11 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
php显示页码分页类的封装
2017/06/08 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
bootstrap Table的一些小操作
2017/11/01 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
汇科协同Java笔试题
2012/03/31 面试题
保安自我鉴定范文
2013/12/08 职场文书
借名购房协议书范本
2014/10/06 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
职代会闭幕词
2015/01/28 职场文书
中学推普周活动总结
2015/05/07 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记