2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-06-19 09:50:33 +03:00
This commit is contained in:
Adi Sahar
2017-11-20 00:52:02 +02:00
parent 9e340b5c80
commit 503dd0117b
2 changed files with 23 additions and 6 deletions
+1
View File
@@ -5,3 +5,4 @@ npm-debug.log
test/unit/coverage test/unit/coverage
.coveralls.yml .coveralls.yml
.flowconfig .flowconfig
package-lock.json
+22 -6
View File
@@ -324,9 +324,9 @@
</div> </div>
<transition :name="transition"> <transition :name="transition">
<ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }"> <ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }" @mousedown="onMousedown">
<li v-for="(option, index) in filteredOptions" v-bind:key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index"> <li v-for="(option, index) in filteredOptions" v-bind:key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index">
<a @mousedown.prevent="select(option)"> <a @mousedown.prevent.stop="select(option)">
<slot name="option" v-bind="option"> <slot name="option" v-bind="option">
{{ getOptionLabel(option) }} {{ getOptionLabel(option) }}
</slot> </slot>
@@ -766,11 +766,16 @@
* @return {void} * @return {void}
*/ */
onSearchBlur() { onSearchBlur() {
if (this.clearSearchOnBlur) { if (this.mousedown) {
this.search = '' this.$refs.search.focus()
this.mousedown = false
} else {
if (this.clearSearchOnBlur) {
this.search = ''
}
this.open = false
this.$emit('search:blur')
} }
this.open = false
this.$emit('search:blur')
}, },
/** /**
@@ -826,6 +831,17 @@
if (this.pushTags) { if (this.pushTags) {
this.mutableOptions.push(option) this.mutableOptions.push(option)
} }
},
/**
* Event-Handler to help workaround IE11 (probably fixes 10 as well)
* firing a `blur` event when clicking
* the dropdown's scrollbar, causing it
* to collapse abruptly.
* @return {void}
*/
onMousedown() {
this.mousedown = true
} }
}, },