总结:这里的原因应该是触发change事件中执行了给第二列赋值的函数,是在函数中用
voucherType[1].values=xxx进行赋值,一开始以为是这样赋值的原因,后来改为this.$refs.xxx.setSoltValues=xxx进行赋值,数据不会覆盖了,change事件中的值和实际选中的值是一一对应的,然后第一列的数据在初始化的时候默认选中第一个,第二列的展示的数据,根据监视第一列当前值的发生改变从而进行重新赋值,
第二列数据添加不上选中样式,picker中的change事件,初始化会执行三次,这是因为mintUI版本是2.2.13的问题,2.2.9不会有这个问你,但是回退之后别的不好用,所以没有回退版本
解决方法:这里在监视第一列发生数据改变之后,在结构渲染完之后再进行对第二列数据的赋值,用了vue本身的一个方法,
this.$nextTick(()=>{
//在这里赋值
})
之前自定义的函数赋值方法在函数中对第二列进行赋值,目前是返回筛选的数据,也就是函数有返回值,拿到返回值在进行赋值,这样不会因为函数执行顺序的原因导致赋值时机,在change事件中不对第二列进行赋值,这样就不会导致重复赋值进行覆盖的情况