网上看了很多代码,选择器得到的值都是变更之前的值。因为使用data-id='{{type[index].id}}'传递数据时,传递的index还没有改变。所有要做.js中设定一个变量来记录索引值(index)。具体代码如下:
.wxml代码
<picker range='{{type}}' value='{{index}}' bindchange='PickerChange' range-key="name">
<view class='picker'>{{type[index].name}}</view>
</picker>
.js代码
Page({
data: {
type: [{ name: '服务质量', id: 20 }, { name: '服务品质', id: 24 }, { name: '服务速度', id: 25 }],
index: 0, //索引值
save_index: 20 //用于存储的index值
},
PickerChange(e) {
let that = this
this.setData({
index: e.detail.value,
save_index: that.data.type[e.detail.value].id
})
}
})