diff --git a/packages/select/src/select.vue b/packages/select/src/select.vue index a5647347f1f..5365991c8d4 100644 --- a/packages/select/src/select.vue +++ b/packages/select/src/select.vue @@ -50,7 +50,6 @@ :autocomplete="autoComplete || autocomplete" @focus="handleFocus" @blur="softFocus = false" - @click.stop @keyup="managePlaceholder" @keydown="resetInputState" @keydown.down.prevent="navigateOptions('next')" @@ -58,6 +57,7 @@ @keydown.enter.prevent="selectOption" @keydown.esc.stop.prevent="visible = false" @keydown.delete="deletePrevTag" + @keydown.tab="visible = false" @compositionstart="handleComposition" @compositionupdate="handleComposition" @compositionend="handleComposition" @@ -80,6 +80,7 @@ :readonly="readonly" :validate-event="false" :class="{ 'is-focus': visible }" + :tabindex="(multiple && filterable) ? '-1' : null" @focus="handleFocus" @blur="handleBlur" @keyup.native="debouncedOnInputChange" @@ -566,7 +567,9 @@ if (!this.softFocus) { if (this.automaticDropdown || this.filterable) { this.visible = true; - this.menuVisibleOnFocus = true; + if (this.filterable) { + this.menuVisibleOnFocus = true; + } } this.$emit('focus', event); } else {