html:
<view class=‘l_flex’>
<picker bindchange=“pickUp” value="{{index}}" range="{{typeArr}}" range-key=“size”>
<view class=‘btn’ data-idx=’{{idx}}’ bindtap=‘selectType’>{{item.selectModel}}</view>
</picker>
</view>
数据绑定:
data: {
typeArr:[]
},
js:
selectType:function(e){
const that=this;
console.log(“打印数组索引”, e.currentTarget.dataset.idx)
const xuhao = e.currentTarget.dataset.idx
that.confirmType(that.data.goods, xuhao)
},
// 确定点击商品所有的类型
confirmType:function(arr,idx){
const that=this;
console.log(“打印所属类型”, arr[idx].types)
that.setData({
typeArr:arr[idx].types
})
我已经拿到当前点击商品索要显示的类型size,但pick组件显示的还是上一次别的商品所赋的值,就必须再出发一次picker,才能更新为当前的值,我觉得就是触发的时候picker组件先弹了出来,之后数据刷新比picker慢了,所以导致数据没更新,有什么好的办法吗