diff --git a/examples/routers/auto-complete.vue b/examples/routers/auto-complete.vue index 0ecd673f..ba8cc5c5 100644 --- a/examples/routers/auto-complete.vue +++ b/examples/routers/auto-complete.vue @@ -37,4 +37,4 @@ } } }; - \ No newline at end of file + diff --git a/src/components/select/select.vue b/src/components/select/select.vue index d446a8ad..18ace4d4 100644 --- a/src/components/select/select.vue +++ b/src/components/select/select.vue @@ -635,7 +635,21 @@ }, ANIMATION_TIMEOUT); }, onQueryChange(query) { - if (query.length > 0 && query !== this.query) this.visible = true; + if (query.length > 0 && query !== this.query) { + // in 'AutoComplete', when set an initial value asynchronously, + // the 'dropdown list' should be stay hidden. + // [issue #5150] + if (this.autoComplete) { + let isInputFocused = + document.hasFocus && + document.hasFocus() && + document.activeElement === this.$el.querySelector('input'); + this.visible = isInputFocused; + } else { + this.visible = true; + } + } + this.query = query; this.unchangedQuery = this.visible; this.filterQueryChange = true;