请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

jeesite

 找回密码
 注册新会员
查看: 316|回复: 0

[已解决] 微信小程序下拉滚动选择器picker绑定数据的两种方式

[复制链接]
admin 发表于 2018-6-15 18:04:15 | 显示全部楼层 |阅读模式
https://www.cnblogs.com/mibear/p/8051370.html

[微信小程序] 微信小程序下拉滚动选择器picker绑定数据的两种方式
微信小程序下拉滚动选择器picker绑定数据的两种方式  本地数据绑定和wx.request(OBJECT) json数据绑定

1.本地数据绑定 (对象数组)





复制代码
Page({
    data:{
     //户型   这是一个本地的对象,然后绑定到页面上
    pic_array: [
      { id: 13, name: '1室1厅1卫' },
      { id: 14, name: '1室2厅1卫' },
      { id: 15, name: '2室1厅1卫' },
      { id: 16, name: '3室1厅2卫' },
      { id: 17, name: '4室1厅2卫' },
      { id: 18, name: '5室1厅3卫' },
      { id: 19, name: '6室1厅3卫' },
      { id: 20, name: '7室以上' },
    ],
     hx_index: 0;
   },
     bindPickerChange_hx: function (e) {
     console.log('picker发送选择改变,携带值为', e.detail.value);
     this.setData({   //给变量赋值
     hx_index: e.detail.value,  //每次选择了下拉列表的内容同时修改下标然后修改显示的内容,显示的内容和选择的内容一致
    })
     console.log('自定义值:', this.data.hx_select);
    },
})
复制代码
复制代码
<!--户型  -->
      <picker name="picker_hx" class="cybm_pic_1" value="{{pic_array[hx_index].id}}" data-selecthx="{{pic_array[hx_index].name}}" range="{{pic_array}}" range-key="{{'name'}}"  bindchange="bindPickerChange_hx"  >
        <view class="picker" >
         户型:  {{pic_array[hx_index].name}} //指定数组中指定下标的name键对应的值
        </view>
      </picker>

属性名range  类型Array/Object Array  存放你的本地数据数组或者对象数组,需要加载的数据
属性名range-key  类型String  当 range 是一个 二维Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
属性名value  类型Array  value 每一项的值表示选择了 range 对应项中的第几个(下标从 0 开始)
属性名data-  类型自定义属性后更的属性名字可以自定义 当你需要设置其他值得时候可以使用  可选

复制代码


2.网络请求得到的json数据绑定下拉选择器

首先得到后台传过来的json数据

复制代码
data:{
  
}
onLoad: function () {
     var that = this;

     wx.request({
      url: "https://www.************",
      data: {
        a: ""  //参数
      },
      header: {
        "Content-Type": "applicatiSon/x-www-form-urlencoded"
      },
      method: "POST",
      success: function (res) {
        that.setData({

              pic_array: res.data.data.exp_hx,  //把json数据赋值给变量pic_array_hx
}) } }) }

复制代码
复制代码
<!--户型  -->  //绑定的方式一样,只是改动一下变量名既可以了,这是比较简单的方式
      <picker name="picker_hx" class="cybm_pic_1" value="{{pic_array[hx_index].id}}" data-selecthx="{{pic_array[hx_index].name}}" range="{{pic_array}}" range-key="{{'name'}}"  bindchange="bindPickerChange_hx"  >
        <view class="picker" >
         户型:  {{pic_array[hx_index].name}} //指定数组中指定下标的name键对应的值
        </view>
      </picker>
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册新会员

本版积分规则

QQ|手机版|小黑屋|Archiver|jeesite 官方论坛. ( 吉ICP备12004769号  

GMT+8, 2018-11-16 11:58 , Processed in 0.128906 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表