<template>
<div>
value:{{ JSON.stringify(value) }}
<el-select v-model="value" clearable placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</template>
<script>
export default {
data() {
return {
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}],
value: null
}
}
}
</script>
elementui的el-select点击clearable后value默认会为空字符串,并不是我默认设置的null,我可以通过@clear来改变value的值,但是我的项目已经非常庞大,牵扯的页面有很多,怎么在影响页面最小的情况下,全局去更改呢?
执行这段代码就行
this.$options.components.ElSelect.options.methods.deleteSelected =
function deleteSelected(event) {
event.stopPropagation();
// 改动在这,原始的是这样 var value = this.multiple ? [] : '';
var value = this.multiple ? [] : null;
this.$emit("input", value);
this.emitChange(value);
this.visible = false;
this.$emit("clear");
};
是否会引发bug ,你自己测一下,我只是简单看了一下