From 6d017f5a6d102b49b4370b2214e8d19b36a5f56a Mon Sep 17 00:00:00 2001 From: yangdan8 <13532023084@139.com> Date: Tue, 23 Jan 2018 13:59:18 +0800 Subject: [PATCH] 解决select-item引起的大量内存泄漏的bug --- src/components/select/option.vue | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/select/option.vue b/src/components/select/option.vue index 0863097..0733bb8 100644 --- a/src/components/select/option.vue +++ b/src/components/select/option.vue @@ -67,23 +67,27 @@ // 在使用函数防抖后,设置 key 后,不更新组件了,导致SearchLabel 不更新 #1865 updateSearchLabel () { this.searchLabel = this.$el.textContent; + }, + onSelectClose(){ + this.isFocus = false; + }, + onQueryChange(val){ + this.queryChange(val); } }, mounted () { this.updateSearchLabel(); this.dispatch('iSelect', 'append'); - this.$on('on-select-close', () => { - this.isFocus = false; - }); - this.$on('on-query-change', (val) => { - this.queryChange(val); - }); + this.$on('on-select-close', this.onSelectClose); + this.$on('on-query-change',this.onQueryChange); const Select = findComponentUpward(this, 'iSelect'); if (Select) this.autoComplete = Select.autoComplete; }, beforeDestroy () { this.dispatch('iSelect', 'remove'); + this.$off('on-select-close', this.onSelectClose); + this.$off('on-query-change',this.onQueryChange); } }; -- libgit2 0.21.4