From 4b981e5e93bf0c05c54afec6494b265332591e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=9F=E5=B8=85?= <133814250@qq.com> Date: Fri, 16 Jun 2023 09:45:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0tabsView=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E4=BF=A1=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/layout/components/TagsView/index.vue | 10 ++++++++++ web/src/store/modules/tabsView.ts | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/web/src/layout/components/TagsView/index.vue b/web/src/layout/components/TagsView/index.vue index 34ff6f2..f6052c8 100644 --- a/web/src/layout/components/TagsView/index.vue +++ b/web/src/layout/components/TagsView/index.vue @@ -497,6 +497,16 @@ observer.listenTo(navWrap.value, handleResize); } + watch( + () => tabsViewStore.signal, + (key) => { + if (key != '') { + closeHandleSelect(key); + tabsViewStore.closeSignal(''); + } + } + ); + return { ...toRefs(state), navWrap, diff --git a/web/src/store/modules/tabsView.ts b/web/src/store/modules/tabsView.ts index 9fc0ff2..0838015 100644 --- a/web/src/store/modules/tabsView.ts +++ b/web/src/store/modules/tabsView.ts @@ -16,6 +16,7 @@ export type RouteItem = Partial & { export type ITabsViewState = { tabsList: RouteItem[]; // 标签页 + signal: string; // 关闭信号 }; //保留固定路由 @@ -27,6 +28,7 @@ export const useTabsViewStore = defineStore({ id: 'app-tabs-view', state: (): ITabsViewState => ({ tabsList: [], + signal: '', }), getters: {}, actions: { @@ -69,5 +71,9 @@ export const useTabsViewStore = defineStore({ console.log(retainAffixRoute(this.tabsList)); this.tabsList = retainAffixRoute(this.tabsList); }, + closeSignal(signal: string) { + // 设置tab关闭信号, 1刷新 2关闭当前 3关闭其他 4关闭全部 + this.signal = signal; + }, }, });