关于使用vant weapp picker组件时,setColumnIndex不能动态设置的问题。

关于使用vant weapp picker组件时,setColumnIndex不能动态设置的问题。

teaxia
2020-06-28 / 0 评论 / 837 阅读 / 正在检测是否收录...

首先说一点,setColumnIndex是可以正常使用的,没有问题!
它接收两个参数,第一个是列,如果只有一列的话,第一个值就为0,第二个值就是你想动态设置的索引值!
我遇到的问题是这样的,首先用this.setData来设置了picker组件里面列的值,但是马上设置它的默认索引的时候出的问题。需要设置两次才能设置上。
这是因为小程序的setData是异步的,第一次设置的时候,picker的值还没有获取设置上去,所以第一次当然就设置不了当前索引。
解决这个问题的方法也很简答。在setData的回调里面做这个就OK了

this.setData({
    show:true,
    pickerName:'workexp',
    columns: values,
    pickerTitle:'选择工作经验'
},function(){
    picker.setColumnIndex(0,this.data.info.workExperience-1)
})
8

评论 (0)

取消