vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vant Weapp picker初始默认选中

Vant Weapp组件picker选择器初始默认选中问题

作者:bujibuji哇

这篇文章主要介绍了Vant Weapp组件picker选择器初始默认选中问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Vant Weapp组件picker选择器初始默认选中

小程序使用vant-picker多列数据级联选择设置初始默认选中通过this.xx修改对应列defaultIndex的不生效,数据改变页面未渲染

解决

在onReady()方法中通过selectComponent方法获取picker实例再调用官方文档的setColumnIndex方法

注:wepy中获取组件实例写法为this.$wxpage.selectComponent()

代码示例:

<van-picker
        class="labelPicker"
        show-toolbar
        title="选择我的标签"
        columns="{{ columns }}"
        bind:cancel="onLabelCancel"
        bind:confirm="onLabelConfirm"
        bind:change="onLabelTypeChange"
      />
onReady () {
      dept.forEach(item => {
        if (item.dept_bm === this.deptCode) {
          const picker = this.$wxpage.selectComponent('.labelPicker') // 获取组件实例
          picker.setColumnIndex(0, dept.indexOf(item))
        }
      })
    }

Van-picker选择器空白

van-picker绑定的数据实在store里,在store里数据格式也是正确的,但是到页面里picker的选择项就是全空白,

在该路由中将该组件的keepalive设为了true,所以从别的页面回来的时候,picker绑定的数据不会重新获取,而该组件在初始的created里将picker的数据项写为了空数组,此时只需要在activated生命周期里重新给picker绑定的数据重新进行取值操作即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文