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

Cascader: fix delete tag bug (#20939)

parent 655d89fe
...@@ -44,14 +44,14 @@ ...@@ -44,14 +44,14 @@
<div v-if="multiple" class="el-cascader__tags"> <div v-if="multiple" class="el-cascader__tags">
<el-tag <el-tag
v-for="(tag, index) in presentTags" v-for="tag in presentTags"
:key="tag.key" :key="tag.key"
type="info" type="info"
:size="tagSize" :size="tagSize"
:hit="tag.hitState" :hit="tag.hitState"
:closable="tag.closable" :closable="tag.closable"
disable-transitions disable-transitions
@close="deleteTag(index)"> @close="deleteTag(tag)">
<span>{{ tag.text }}</span> <span>{{ tag.text }}</span>
</el-tag> </el-tag>
<input <input
...@@ -588,7 +588,7 @@ export default { ...@@ -588,7 +588,7 @@ export default {
if (this.pressDeleteCount) { if (this.pressDeleteCount) {
if (lastTag.hitState) { if (lastTag.hitState) {
this.deleteTag(lastIndex); this.deleteTag(lastTag);
} else { } else {
lastTag.hitState = true; lastTag.hitState = true;
} }
...@@ -607,10 +607,11 @@ export default { ...@@ -607,10 +607,11 @@ export default {
this.toggleDropDownVisible(false); this.toggleDropDownVisible(false);
} }
}, },
deleteTag(index) { deleteTag(tag) {
const { checkedValue } = this; const { checkedValue } = this;
const val = checkedValue[index]; const current = tag.node.getValueByOption();
this.checkedValue = checkedValue.filter((n, i) => i !== index); const val = checkedValue.find(n => isEqual(n, current));
this.checkedValue = checkedValue.filter(n => !isEqual(n, current));
this.$emit('remove-tag', val); this.$emit('remove-tag', val);
}, },
updateStyle() { 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