Commit 5c846d28a6a7a7badff32d2e2af7316804b438ad

Authored by Sergio Crisostomo
1 parent 743f6e06

Correct event propagation on transfer (fixes 3708 and 3695)

Showing 1 changed file with 9 additions and 1 deletions   Show diff stats
src/components/select/select.vue
... ... @@ -427,7 +427,7 @@
427 427 let initialValue = Array.isArray(value) ? value : [value];
428 428 if (!multiple && (typeof initialValue[0] === 'undefined' || (String(initialValue[0]).trim() === '' && !Number.isFinite(initialValue[0])))) initialValue = [];
429 429 return initialValue.filter((item) => {
430   - return Boolean(item) || item === 0
  430 + return Boolean(item) || item === 0;
431 431 });
432 432 },
433 433 processOption(option, values, isFocused){
... ... @@ -488,6 +488,14 @@
488 488 return;
489 489 }
490 490  
  491 + if (this.transfer) {
  492 + const {$el} = this.$refs.dropdown;
  493 + if ($el === event.target || $el.contains(event.target)) {
  494 + return;
  495 + }
  496 + }
  497 +
  498 +
491 499 if (this.filterable) {
492 500 const input = this.$el.querySelector('input[type="text"]');
493 501 this.caretPosition = input.selectionStart;
... ...