微信小程序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 相关文章推荐
对象特征检测法判断浏览器对javascript对象的支持
Jul 25 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
jQuery中:disabled选择器用法实例
Jan 04 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
Javascript removeChild()删除节点及删除子节点的方法
Dec 27 Javascript
详解js实现线段交点的三种算法
Aug 09 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
Dec 12 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
knockoutjs模板实现树形结构列表
Jul 31 Javascript
详解webpack的配置文件entry与output
Aug 21 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 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多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
YII框架http缓存操作示例
2019/04/29 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
react实现换肤功能的示例代码
2018/08/14 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
原生js实现购物车功能
2020/09/23 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
全面了解python中的类,对象,方法,属性
2016/09/11 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
PyQt5实现画布小程序
2020/05/30 Python
离职报告格式
2014/11/04 职场文书
北京故宫导游词
2015/01/31 职场文书
检讨书格式范文
2015/05/07 职场文书
关于运动会的广播稿
2015/08/19 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
2019新员工心得体会
2019/06/25 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
电频谱管理的原则是什么
2022/02/18 无线电
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers