在使用vant的picker组件时,我希望有在页面加载时向数据库获取值来设置picker的默认值。开始我使用官方文档中的default-index属性,并在onLoad方法中进行this.setData()。但是这样做picker的默认索引还是0。
于是我又将setData放入onShow()、onReady()方法,均不奏效。(我真的不知道为什么,新建一个空白页面测试也是这样)
继而我查看官方文档,发现picker有实例方法setIndexes(),于是尝试。
然而我在onLoad()、onReady()方法中通过selectComponent()后再调用方法,还是不奏效。
只有在onReady方法中才可以这样设置索引
wxml:
<van-picker class="picker1" columns="{{columns}}" bind:change="onChange" />
js:(获取到的数据为this.data.index)
onReady(){
const picker = this.selectComponent('.picker1') //获取组件实例
picker.setIndexes([this.data.index]) //setIndexes()中的参数是一个数组
}