收藏
回答

picker-view事件回调的e.detail.value的值不对

问题模块
API和组件

picker-view初始化时就会多次触发bindchange(在picker-view是否加value属性都一样会触发多次,真机表现一样),且此时事件回调的e.detail.value的值不对。


wxml:

<picker-view indicator-style="height: 50px;" style="width: 100%; height: 250px;"
            value="{{picker.defaultValue}}"
            bindchange="onpickerChange">
<picker-view-column>
<view wx:for="{{picker.structure[0]}}" wx:for-item="pickerColumnItem" wx:key="value"
         style="line-height: 50px; text-align: center;">
{{pickerColumnItem.name}}
</view>
</picker-view-column>
<picker-view-column>
<view wx:for="{{picker.structure[1]}}" wx:for-item="pickerColumnItem1" wx:key="value"
         style="line-height: 50px; text-align: center;">
{{pickerColumnItem1.name}}
</view>
</picker-view-column>
</picker-view>


js:

Page({
onLoad() {
let structure = [
[{"name":"国家","value":1 }],
[{"name":"中国","value":2},{"name":"美国","value":3},{"name":"日本","value":4}]
];

this.setData({
picker: {
structure
       }
});

setTimeout(() => {
this.setData({
'picker.defaultValue': [1, 0]
})
}, 100);
},

onpickerChange(e) {
console.log(e.detail.value);
}

})


log:


第一个column我只有一个数据,但log中却出现了多次1


最后一次编辑于  2017-04-25  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答