mint-ui组件picker使用遇到问题

今天使用picker组件遇到了一个问题,页面加载时会触发picker组件的onchange事件。安装官方的说法是,数据变化会自动触发该事件。 那么,页面初始化也会触发该事件,这么一来,但我要初始化指定默认值时,这里会有问题。 

问题是什么呢? 想想...

我在created方法初始化默认值,这个值是全局的,用户登录就存在了。 进入当前页面,我还需要加载当前业务的数据,我在created调用接口方法拉取数据,同时还会初始化picker的slots数据。 问题这时就来了,我已经初始化了picker的默认值,但当picker的slots数据初始化完后,还会加载change事件(change事件里面把选中的值赋给变量),这时把默认值设置为数组的第一个值了。

问题发现了,自己停下来想了想....

恩,这样应该能行。是的,能行,^_^!

在change事件中加一个boolean值判断是否第一次加载,如果第一次加载就不赋值。

上代码:

1、picker组件调用:

<picker :slots="subjects" valueKey="subjectName" @change="onValuesSubject"></picker>

2、change事件:

onValuesSubject: function (picker, values) {
  var that = this
  let vlus = values[0]
  if (vlus) {
    if (that.isChange) {
      that.subjectName = vlus.subjectName
      that.subjectId = vlus.subjectId
      that.subjectState = 'success'
    }
    that.isChange = true
  }
}

基本就这样了,但是还有个问题没解决,选择第一个选项时,点击无效。必须另选一个再选第一个点击才有效。而且,默认值的位置也不是option的第一个啊。 这个问题待解...



猜你喜欢

转载自blog.csdn.net/yeaskyone/article/details/80170635