From c83968258eaeb005ff85f71e513b44e27dbaf450 Mon Sep 17 00:00:00 2001 From: chenyang Date: Tue, 13 Dec 2022 15:54:06 +0800 Subject: [PATCH] Cascader: fix an error issure (#22313) --- packages/cascader/src/cascader.vue | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/cascader/src/cascader.vue b/packages/cascader/src/cascader.vue index 0aad54baf..6a091aad1 100644 --- a/packages/cascader/src/cascader.vue +++ b/packages/cascader/src/cascader.vue @@ -594,7 +594,7 @@ export default { const lastTag = presentTags[lastIndex]; this.pressDeleteCount = inputValue ? 0 : pressDeleteCount + 1; - if (!lastTag) return; + if (!lastTag || lastTag.key === -1) return; if (this.pressDeleteCount) { if (lastTag.hitState) { @@ -618,11 +618,13 @@ export default { } }, deleteTag(tag) { - const { checkedValue } = this; - 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); + if (tag.node) { + const { checkedValue } = this; + 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() { const { $el, inputInitialHeight } = this;