Commit c6de66168c9b04f30a4235af203deb7c0f48a704
Committed by
GitHub

Merge pull request #5163 from RookieZoe/2.0-fix-#5150
fix #5150
Showing
2 changed files
with
16 additions
and
2 deletions
Show diff stats
examples/routers/auto-complete.vue
src/components/select/select.vue
@@ -635,7 +635,21 @@ | @@ -635,7 +635,21 @@ | ||
635 | }, ANIMATION_TIMEOUT); | 635 | }, ANIMATION_TIMEOUT); |
636 | }, | 636 | }, |
637 | onQueryChange(query) { | 637 | onQueryChange(query) { |
638 | - if (query.length > 0 && query !== this.query) this.visible = true; | 638 | + if (query.length > 0 && query !== this.query) { |
639 | + // in 'AutoComplete', when set an initial value asynchronously, | ||
640 | + // the 'dropdown list' should be stay hidden. | ||
641 | + // [issue #5150] | ||
642 | + if (this.autoComplete) { | ||
643 | + let isInputFocused = | ||
644 | + document.hasFocus && | ||
645 | + document.hasFocus() && | ||
646 | + document.activeElement === this.$el.querySelector('input'); | ||
647 | + this.visible = isInputFocused; | ||
648 | + } else { | ||
649 | + this.visible = true; | ||
650 | + } | ||
651 | + } | ||
652 | + | ||
639 | this.query = query; | 653 | this.query = query; |
640 | this.unchangedQuery = this.visible; | 654 | this.unchangedQuery = this.visible; |
641 | this.filterQueryChange = true; | 655 | this.filterQueryChange = true; |