【bug】el-input的clear事件无法清空输入框内的值

一般这样写,输入框就能清空了

              <el-input v-model="form.custCodeEnd"  clearable @clear="clear('custCodeEnd')" />
                   clear(key) {
    
    
                       this.queryParams[key] = ''
                    },

但是遇到了奇怪的现象,没有父子组件的嵌套,log打印值已经变成空的,但是输入框的还在,这个时候想到是不是要用this. s e t 刷新下数据,或者 t h i s . set刷新下数据,或者this. set刷新下数据,或者this.nexttick(),都试了还是不行

解决方法:
在data中定义的form对象里,如下定义

form:{
    
    
custCodeEnd:''
}

可能是因为form里都是空的,找不到这个字段,不知道要清空哪一项

然后又遇到了一个父子组件的,子组件是表单,在子组件中像这么这样写的话,相当于在子组件里改变值,逆向改变不行,那就去父组件改变

<el-input v-model="form.custCodeEnd"  clearable @clear="clear('custCodeEnd')" />
 clear(key) {
    
    
      this.$set('clear', key)
   
    },

父组件的子组件上接收下

            <QueryForm          
              @clear="clear"
            ></QueryForm>

             clear(key) {
    
    
             this.form[key] = ''
                 },

猜你喜欢

转载自blog.csdn.net/weixin_49668076/article/details/129496450