记一次viewui框架的一个bug

Posted PrayLs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次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,因此避免了第一次的触发

以上是关于记一次viewui框架的一个bug的主要内容,如果未能解决你的问题,请参考以下文章

记一次netty追源码找bug过程

记一次生产的bug

记一次惨痛的线上bug

记一次SpringBoot整合MyBatis时找不到Mapper.xml的BUG定位

记一次因@Async引发的程序bug

记一次Spring自定义切面不执行bug定位