记一次viewui框架的一个bug

问题:在业务中使用了viewUI,但是在使用select下拉框时,莫名的发现一个问题,其中的on-change事件是在option发生改变的时候触发,但是在页面刚进来的时候也会触发这个事件,就感觉莫名奇妙,不知道是不是一个bug,但是还是最终解决了,解决方法如下;

html:

<Select v-model="searchValueObj.sfrom" style="width:280px" size="small" multiple :max-tag-count="3" @on-change="handleSelectChange" @on-open-change="allowedChange">
   <Option v-for="item in contentPool" :value="item.value" :key="item.value">{{item.label}}</Option>
</Select>

methods里的方法

allowedChange (val) {
    this.allowed =  val //下拉框展开或收起触发   返回true/false
},
handleSelectChange (val) {
    if (this.allowed) {
    //......       //处理逻辑     
    }        
}

这个小技巧就是和on-open-change事件相结合,第一次页面渲染的时候不会触发此函数,因此默认为false,当下拉框展开选择下拉项的时候返回true,因此避免了第一次的触发

posted @ 2020-05-13 22:27  PrayLs  阅读(284)  评论(0编辑  收藏  举报