Commit 6d017f5a6d102b49b4370b2214e8d19b36a5f56a
Committed by
GitHub
1 parent
5dc44ccf
解决select-item引起的大量内存泄漏的bug
解决select-item引起的大量内存泄漏的bug
Showing
1 changed file
with
10 additions
and
6 deletions
Show diff stats
src/components/select/option.vue
| ... | ... | @@ -67,23 +67,27 @@ |
| 67 | 67 | // 在使用函数防抖后,设置 key 后,不更新组件了,导致SearchLabel 不更新 #1865 |
| 68 | 68 | updateSearchLabel () { |
| 69 | 69 | this.searchLabel = this.$el.textContent; |
| 70 | + }, | |
| 71 | + onSelectClose(){ | |
| 72 | + this.isFocus = false; | |
| 73 | + }, | |
| 74 | + onQueryChange(val){ | |
| 75 | + this.queryChange(val); | |
| 70 | 76 | } |
| 71 | 77 | }, |
| 72 | 78 | mounted () { |
| 73 | 79 | this.updateSearchLabel(); |
| 74 | 80 | this.dispatch('iSelect', 'append'); |
| 75 | - this.$on('on-select-close', () => { | |
| 76 | - this.isFocus = false; | |
| 77 | - }); | |
| 78 | - this.$on('on-query-change', (val) => { | |
| 79 | - this.queryChange(val); | |
| 80 | - }); | |
| 81 | + this.$on('on-select-close', this.onSelectClose); | |
| 82 | + this.$on('on-query-change',this.onQueryChange); | |
| 81 | 83 | |
| 82 | 84 | const Select = findComponentUpward(this, 'iSelect'); |
| 83 | 85 | if (Select) this.autoComplete = Select.autoComplete; |
| 84 | 86 | }, |
| 85 | 87 | beforeDestroy () { |
| 86 | 88 | this.dispatch('iSelect', 'remove'); |
| 89 | + this.$off('on-select-close', this.onSelectClose); | |
| 90 | + this.$off('on-query-change',this.onQueryChange); | |
| 87 | 91 | } |
| 88 | 92 | }; |
| 89 | 93 | </script> | ... | ... |