微信小程序picker组件关于objectArray数据类型的绑定方法


Posted in Javascript onMarch 13, 2019

一、前言:

我发现很多的同学都在抱怨说微信小程序的picker的mode = selector/mode = multiSelector 无法实现Object Array数据类型的绑定,其实很多人就想要和html中的下拉选中的通过选中获取vaule中的属性值,其实认真查看微信picker组件详解的都知道其实是可以实现的,只不过微信给的实例是array的实例而object array实例是留给大家去动手的哟,在这里我主要介绍的mode=selector 的objectArray实现。

二、介绍:

 普通选择器:mode = selector

属性名 类型 默认值 说明
range Array / Object Array [] mode为 selector 或 multiSelector 时,range 有效
range-key String 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
value Number 0 value 的值表示选择了 range 中的第几个(下标从 0 开始)
bindchange EventHandle value 改变时触发 change 事件,event.detail = {value: value}
disabled Boolean false 是否禁用

微信picker组件详解: https://developers.weixin.qq.com/miniprogram/dev/component/picker.html?search-key=picker

首先我的数据格式是:[{ name: '服务质量', id: 20 }, { name: '服务品质', id: 24 }, { name: '服务速度', id: 25}]

.wxml页代码:

//其中range为数据源,value为下标索引,bindchange为change改变事件
<picker range='{{type}}' value='{{idx}}' bindchange='Change' range-key="name" data-id='{{type[index].id}}'>
<view class='picker'>{{type[index].name}}</view>
</picker>

.js代码:

/**
  * 页面的初始数据
  */
 data: {
  type: [{ name: '服务质量', id: 20 }, { name: '服务品质', id: 24 }, { name: '服务速度', id: 25}],
  index: 0,//索引
 },
 Change: function (e) {

  console.log('picker发送选择改变,索引值为', e.detail.value)
  console.log("选中的id值:"+e.target.dataset.id)
  console.log(e);
  this.setData({

   index: e.detail.value

  })

 }

页面效果和输出结果:

微信小程序picker组件关于objectArray数据类型的绑定方法

微信小程序picker组件关于objectArray数据类型的绑定方法

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

Javascript 相关文章推荐
jQuery 类twitter的文本字数限制带提示效果插件
Apr 16 Javascript
js 小数取整的函数
May 10 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
JavaScript执行效率与性能提升方案
Dec 21 Javascript
JavaScript实现数组随机排序的方法
Jun 26 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
vue注册组件的几种方式总结
Mar 08 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
基于form-data请求格式详解
Oct 29 Javascript
在Vue项目中使用Typescript的实现
Dec 19 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
Mar 09 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 #Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 #Javascript
深入理解Node内建模块和对象
Mar 12 #Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 #Javascript
mpvue开发音频类小程序踩坑和建议详解
Mar 12 #Javascript
React中this丢失的四种解决方法
Mar 12 #Javascript
使用koa2创建web项目的方法步骤
Mar 12 #Javascript
You might like
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
python中sys.argv函数精简概括
2018/07/08 Python
使用Python更换外网IP的方法
2018/07/09 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
python在地图上画比例的实例详解
2020/11/13 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
C#怎么让一个窗口居中显示?
2015/10/20 面试题
一套英文Java笔试题面试题
2016/04/21 面试题
通信工程毕业生自荐信
2013/11/01 职场文书
医学专业毕业生个人求职信
2013/12/25 职场文书
应届实习生的自我评价范文
2014/01/05 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
授权收款委托书范本
2014/10/10 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
思想工作总结范文
2015/08/12 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers