Commit 364aac021707f62fb1184ab6a5113e428c8c9349
Committed by
GitHub
Merge pull request #1828 from SergioCrisostomo/fix-context-for-debounce
fix debounce context
Showing
1 changed file
with
16 additions
and
14 deletions
Show diff stats
src/components/select/select.vue
... | ... | @@ -624,18 +624,20 @@ |
624 | 624 | this.broadcast('iOption', 'on-query-change', val); |
625 | 625 | } |
626 | 626 | }, |
627 | - debouncedAppendRemove: debounce(function(){ | |
628 | - if (!this.remote) { | |
629 | - this.modelToQuery(); | |
630 | - this.$nextTick(() => this.broadcastQuery('')); | |
631 | - } else { | |
632 | - this.findChild((child) => { | |
633 | - child.selected = this.multiple ? this.model.indexOf(child.value) > -1 : this.model === child.value; | |
634 | - }); | |
635 | - } | |
636 | - this.slotChange(); | |
637 | - this.updateOptions(true, true); | |
638 | - }), | |
627 | + debouncedAppendRemove(){ | |
628 | + return debounce(function(){ | |
629 | + if (!this.remote) { | |
630 | + this.modelToQuery(); | |
631 | + this.$nextTick(() => this.broadcastQuery('')); | |
632 | + } else { | |
633 | + this.findChild((child) => { | |
634 | + child.selected = this.multiple ? this.model.indexOf(child.value) > -1 : this.model === child.value; | |
635 | + }); | |
636 | + } | |
637 | + this.slotChange(); | |
638 | + this.updateOptions(true, true); | |
639 | + }); | |
640 | + }, | |
639 | 641 | // 处理 remote 初始值 |
640 | 642 | updateLabel () { |
641 | 643 | if (this.remote) { |
... | ... | @@ -669,8 +671,8 @@ |
669 | 671 | this.updateOptions(true); |
670 | 672 | document.addEventListener('keydown', this.handleKeydown); |
671 | 673 | |
672 | - this.$on('append', this.debouncedAppendRemove); | |
673 | - this.$on('remove', this.debouncedAppendRemove); | |
674 | + this.$on('append', this.debouncedAppendRemove()); | |
675 | + this.$on('remove', this.debouncedAppendRemove()); | |
674 | 676 | |
675 | 677 | this.$on('on-select-selected', (value) => { |
676 | 678 | if (this.model === value) { | ... | ... |