微信小程序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 相关文章推荐
JScript 脚本实现文件下载 一般用于下载木马
Oct 29 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
Nov 10 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
JavaScript结合AJAX_stream实现流式显示
Jan 08 Javascript
jQuery实现带延迟效果的滑动菜单代码
Sep 02 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
学习使用bootstrap基本控件(table、form、button)
Apr 12 Javascript
jQuery插件 Jqplot图表实例
Jun 18 Javascript
javascript深拷贝和浅拷贝详解
Feb 14 Javascript
原生JS实现层叠轮播图
May 17 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 Javascript
Node.js开发之套接字(socket)编程入门示例
Nov 05 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
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
PHP 读取Postgresql中的数组
2013/04/14 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
基于jQuery试卷自动排版系统
2010/07/18 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
node.js中的require使用详解
2014/12/15 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python模块之paramiko实例代码
2018/01/31 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
Python实现不规则图形填充的思路
2020/02/02 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
全球在线商店:BerryLook
2019/04/14 全球购物
保洁主管岗位职责
2013/11/20 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript