mint-ui Picker组件的问题

关于mint-ui Picker组件的问题
我现在是这样的业务场景,点击一个按钮,弹出一个picker供用户选择。picker有多个选项

slots: [{values: ['深圳', '上海', '广州', '南昌', '北京', '天津']}]

我想监听数据发生改动时,就获取用户选择了哪个值。当用户第一次点击按钮,然后弹出了Picker。如果他刚好就想选第一个选项“深圳”,那么他这次点击picker就不会触发onValueChange事件,我也就无法知道他选择了第一个选项。
mt-picker好像并不能自动绑定v-model,要手动通过onValueChange事件设置值,但是现在这种情况如何解决?

阅读 11.4k
4 个回答

我也遇到了这个问题,还没有发现比较简要的解决方式,我目前是在onvaluechange时用个初始值为null的变量记录一下value的值,在关闭picker时判断一下如果这个变量还是null(即没有触发onvaluechange函数)就选第一个选项。

新手上路,请多包涵

这个可以在开始的时候默认选择第一项,比如

 onValuesChange(picker, values) {
            if (this.isFirstSelect === true) { //是否为第一次选择
                setTimeout(() => { //一定要异步
                    picker.setValue(0, firstValue); //设置第一个值为初选项
                }, 10);
                this.isFirstSelect = false;
            }
        },
新手上路,请多包涵

这个问题可以在选中或者取消后把选择的内容和数据源置为空来解决

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题