el-select clearable 清空后数据为空串

看源码是这样的

handleClearClick(event) {
    this.deleteSelected(event);
},

deleteSelected(event) {
    event.stopPropagation();
    const value = this.multiple ? [] : '';
    this.$emit('input', value);
    this.emitChange(value);
    this.visible = false;
    this.$emit('clear');
},

如果需要设置为 null ,就需要自己写 clear 事件。

即便是写了 clear 事件,其 clear 事件触发也在,change事件之后。

<el-select filterable v-model="value" @clear="clearValue" clearable>
    <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
 
 
methods: {
    clearValue(val) {
        this.value = null;
    },
}

el-select Events

事件名称说明回调参数
change选中值发生变化时触发目前的选中值
visible-change下拉框出现/隐藏时触发出现则为 true,隐藏则为 false
remove-tag多选模式下移除tag时触发移除的tag值
clear可清空的单选模式下用户点击清空按钮时触发/
blur当 input 失去焦点时触发(event: Event)
focus当 input 获得焦点时触发(event: Event)


版权声明:本文为wangooo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。