diff --git a/src/views/chart/ContentHeader/headerLeftBtn/index.vue b/src/views/chart/ContentHeader/headerLeftBtn/index.vue index e29a59a0..69e448b1 100644 --- a/src/views/chart/ContentHeader/headerLeftBtn/index.vue +++ b/src/views/chart/ContentHeader/headerLeftBtn/index.vue @@ -66,7 +66,7 @@ import { ChartLayoutStoreEnum } from '@/store/modules/chartLayoutStore/chartLayo const { LayersIcon, BarChartIcon, PrismIcon, HomeIcon, ArrowBackIcon, ArrowForwardIcon } = icon.ionicons5 const { SaveIcon } = icon.carbon const { setItem } = useChartLayoutStore() -const { dataSyncUpdate } = useSync() +const { dataSyncUpdate, removeIntervalDataSync } = useSync() const { getLayers, getCharts, getDetails } = toRefs(useChartLayoutStore()) const chartEditStore = useChartEditStore() const chartHistoryStore = useChartHistoryStore() @@ -153,6 +153,7 @@ const goHomeHandle = () => { onPositiveCallback: () => { goHome() useRemoveKeyboard() + removeIntervalDataSync() } }) } diff --git a/src/views/chart/hooks/useSync.hook.ts b/src/views/chart/hooks/useSync.hook.ts index 25ef772f..f142d397 100644 --- a/src/views/chart/hooks/useSync.hook.ts +++ b/src/views/chart/hooks/useSync.hook.ts @@ -234,24 +234,26 @@ export const useSync = () => { chartEditStore.setEditCanvas(EditCanvasTypeEnum.SAVE_STATUS, SyncEnum.FAILURE) }, 3000) + let syncTiming:any // * 定时处理 const intervalDataSyncUpdate = () => { // 定时获取数据 - const syncTiming = setInterval(() => { + syncTiming = setInterval(() => { dataSyncUpdate() }, saveInterval * 1000) - - // 销毁 - onUnmounted(() => { - clearInterval(syncTiming) - }) } + // 卸载监听事件 + const removeIntervalDataSync = () => { + clearInterval(syncTiming) + } + return { updateComponent, updateStoreInfo, dataSyncFetch, dataSyncUpdate, - intervalDataSyncUpdate + intervalDataSyncUpdate, + removeIntervalDataSync } }