From 3c942d8e930d8d74a35fc93b09770d244dae4952 Mon Sep 17 00:00:00 2001 From: Leopoldthecoder Date: Sun, 21 Jan 2018 11:03:02 +0800 Subject: [PATCH] Select: remove unnecessary query when focused --- packages/dialog/src/component.vue | 2 +- packages/select/src/select.vue | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/dialog/src/component.vue b/packages/dialog/src/component.vue index b6f1f6bad..1490fcbf9 100644 --- a/packages/dialog/src/component.vue +++ b/packages/dialog/src/component.vue @@ -181,7 +181,7 @@ destroyed() { // if appendToBody is true, remove DOM node after destroy - if (this.appendToBody && this.$el) { + if (this.appendToBody && this.$el && this.$el.parentNode) { this.$el.parentNode.removeChild(this.$el); } } diff --git a/packages/select/src/select.vue b/packages/select/src/select.vue index 629b22b2e..f66492fb8 100644 --- a/packages/select/src/select.vue +++ b/packages/select/src/select.vue @@ -278,7 +278,7 @@ selectedLabel: '', hoverIndex: -1, query: '', - previousQuery: '', + previousQuery: null, inputHovering: false, currentPlaceholder: '' }; @@ -323,6 +323,7 @@ this.$refs.input.blur(); } this.query = ''; + this.previousQuery = null; this.selectedLabel = ''; this.inputLength = 20; this.resetHoverIndex(); @@ -382,6 +383,10 @@ methods: { handleQueryChange(val) { if (this.previousQuery === val) return; + if (this.previousQuery === null && typeof this.filterMethod === 'function') { + this.previousQuery = val; + return; + } this.previousQuery = val; this.$nextTick(() => { if (this.visible) this.broadcast('ElSelectDropdown', 'updatePopper');