Commit 486219a7 authored by 好多大米's avatar 好多大米 Committed by GitHub

Cascader: fix delete tag bug (#20939)

parent 655d89fe
......@@ -44,14 +44,14 @@
<div v-if="multiple" class="el-cascader__tags">
<el-tag
v-for="(tag, index) in presentTags"
v-for="tag in presentTags"
:key="tag.key"
type="info"
:size="tagSize"
:hit="tag.hitState"
:closable="tag.closable"
disable-transitions
@close="deleteTag(index)">
@close="deleteTag(tag)">
<span>{{ tag.text }}</span>
</el-tag>
<input
......@@ -588,7 +588,7 @@ export default {
if (this.pressDeleteCount) {
if (lastTag.hitState) {
this.deleteTag(lastIndex);
this.deleteTag(lastTag);
} else {
lastTag.hitState = true;
}
......@@ -607,10 +607,11 @@ export default {
this.toggleDropDownVisible(false);
}
},
deleteTag(index) {
deleteTag(tag) {
const { checkedValue } = this;
const val = checkedValue[index];
this.checkedValue = checkedValue.filter((n, i) => i !== index);
const current = tag.node.getValueByOption();
const val = checkedValue.find(n => isEqual(n, current));
this.checkedValue = checkedValue.filter(n => !isEqual(n, current));
this.$emit('remove-tag', val);
},
updateStyle() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment