【BUG反馈】
发布于 6 年前 作者 yan04 11201 次浏览 来自 问答
<view>
    <picker value="{{index}}" range="{{array}}" range-key='{{key}}'>
      <view class="picker">
        当前选择:{{array[index].key}}
      </view>
    </picker>

  </view>

Page({
  data: {
    array: [{
      "hospitalName": "北京中医药大学附属护国寺中医医院",
      "hospitalId": 520,
      "areaId": 166
    }, {
      "hospitalName": "深圳市南山医院",
      "hospitalId": 657,
      "areaId": 23
    }, {
      "hospitalName": "上海市嘉定区南翔医院",
      "hospitalId": 416,
      "areaId": 167
    }, {
      "hospitalName": "浙江大学附属第一医院",
      "hospitalId": 482,
      "areaId": 25
    }],
    index:0,
    key: "hospitalName"
  }
})

结果是根本显示不出来,测试发现key值根本没有传到{{array[index].key}},但是Index的值却传入了,请问这是怎么回事?

3 回复

此问题已解决,解决方案:

<view>
  <picker  value="{{index}}" range="{{array}}" range-key='{{key}}'>
    <view class="picker">
      当前选择:{{array[index][key]}}
    </view>
  </picker>
</view>

把key用[]包起来,去掉  .  运算符,即可将Key值传入,正常显示。

麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

你把data里面的key 改成单引号,把wxml里面range-key等号后面的单引号 改成双引号。至于显示的结果 需要通过调用bindchange事件来实现

回到顶部