From 3693446d1bb6ad73923087b72550eead829be762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=9D=E7=91=AA=E8=B2=93?= Date: Sat, 7 Mar 2026 08:50:19 +0800 Subject: [PATCH] Add event listener cleanup to prevent memory leaks Co-Authored-By: Claude Opus 4.6 --- .../ConformanceSidebar/ConformanceSelectResult.vue | 13 ++++++++++++- src/components/Discover/Map/Filter/Attributes.vue | 1 + src/components/durationjs.vue | 7 ++++--- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue index bb7bbee..57ab734 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ConformanceSelectResult.vue @@ -41,7 +41,7 @@ * scrollable display of check results. */ -import { reactive, computed } from 'vue'; +import { reactive, computed, onBeforeUnmount } from 'vue'; import { storeToRefs } from 'pinia'; import { useConformanceStore } from '@/stores/conformance'; import emitter from '@/utils/emitter'; @@ -265,6 +265,17 @@ emitter.on('isRadioActSeqMoreChange', (data) => { emitter.on('isRadioActSeqFromToChange', (data) => { if(data) reset(); }); + +onBeforeUnmount(() => { + emitter.off('actListData'); + emitter.off('actRadioData'); + emitter.off('getListSequence'); + emitter.off('reset'); + emitter.off('isRadioChange'); + emitter.off('isRadioProcessScopeChange'); + emitter.off('isRadioActSeqMoreChange'); + emitter.off('isRadioActSeqFromToChange'); +});