目录
  • Vant Weapp组件picker选择器初始默认选中
    • 解决
  • Van-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的选择项就是全空白,

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

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

      总结

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

      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。