From 0a0e66a6d02428ca114ef48a4cdf039f4b1b0559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=94=BF=E6=9D=83?= <1978141412@qq.com> Date: Wed, 27 Nov 2024 20:12:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E5=8A=A0=E8=BD=BD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ .../nav-pos-index/nav-pos-index.tsx | 24 +++++++++++++++++-- src/view-engine/mob-edit-view.engine.ts | 13 +++++++++- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0694bd8..86e425e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ ## [Unreleased] +### Fixed + +- 修复视图多次加载问题 + ## [0.0.36] - 2024-11-22 ### Added diff --git a/src/panel-component/nav-pos-index/nav-pos-index.tsx b/src/panel-component/nav-pos-index/nav-pos-index.tsx index 277c76d..7b29b2d 100644 --- a/src/panel-component/nav-pos-index/nav-pos-index.tsx +++ b/src/panel-component/nav-pos-index/nav-pos-index.tsx @@ -1,4 +1,11 @@ -import { defineComponent, PropType, VNode } from 'vue'; +import { + defineComponent, + onActivated, + onDeactivated, + PropType, + ref, + VNode, +} from 'vue'; import { useNamespace, onRouteChange } from '@ibiz-template/vue3-util'; import { IPanelRawItem } from '@ibiz/model-core'; import { useRoute, useRouter } from 'vue-router'; @@ -22,6 +29,7 @@ export const NavPosIndex = defineComponent({ const ns = useNamespace('nav-pos-index'); const router = useRouter(); c.setRouter(router); + const isActivated = ref(true); // 路由绘制的时候要做的事情 if (c.routeDepth) { @@ -45,12 +53,24 @@ export const NavPosIndex = defineComponent({ } } - return { ns, c }; + onActivated(() => { + isActivated.value = true; + }); + + onDeactivated(() => { + isActivated.value = false; + }); + + return { ns, c, isActivated }; }, render() { const { state, viewModals } = this.c; const { currentKey, cacheKeys } = state; + if (!this.isActivated) { + return; + } + return (