mirror of https://github.com/ElemeFE/element
Cascader: fix delete tag bug (#20939)
parent
655d89fe0e
commit
486219a752
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue