From 90625782c02ba3a4dc6ab8178c352e64c417ae83 Mon Sep 17 00:00:00 2001 From: afe1 <2279948211@qq.com> Date: Thu, 8 May 2025 16:51:12 +0800 Subject: [PATCH 1/3] fix: delete useless code (#6143) --- apps/web-antd/src/router/guard.ts | 2 +- apps/web-ele/src/router/guard.ts | 2 +- apps/web-naive/src/router/guard.ts | 2 +- playground/src/router/guard.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web-antd/src/router/guard.ts b/apps/web-antd/src/router/guard.ts index e12766f9..a1ad6d88 100644 --- a/apps/web-antd/src/router/guard.ts +++ b/apps/web-antd/src/router/guard.ts @@ -18,7 +18,7 @@ function setupCommonGuard(router: Router) { // 记录已经加载的页面 const loadedPaths = new Set(); - router.beforeEach(async (to) => { + router.beforeEach((to) => { to.meta.loaded = loadedPaths.has(to.path); // 页面加载进度条 diff --git a/apps/web-ele/src/router/guard.ts b/apps/web-ele/src/router/guard.ts index e12766f9..a1ad6d88 100644 --- a/apps/web-ele/src/router/guard.ts +++ b/apps/web-ele/src/router/guard.ts @@ -18,7 +18,7 @@ function setupCommonGuard(router: Router) { // 记录已经加载的页面 const loadedPaths = new Set(); - router.beforeEach(async (to) => { + router.beforeEach((to) => { to.meta.loaded = loadedPaths.has(to.path); // 页面加载进度条 diff --git a/apps/web-naive/src/router/guard.ts b/apps/web-naive/src/router/guard.ts index 4810f13a..28d1cea7 100644 --- a/apps/web-naive/src/router/guard.ts +++ b/apps/web-naive/src/router/guard.ts @@ -18,7 +18,7 @@ function setupCommonGuard(router: Router) { // 记录已经加载的页面 const loadedPaths = new Set(); - router.beforeEach(async (to) => { + router.beforeEach((to) => { to.meta.loaded = loadedPaths.has(to.path); // 页面加载进度条 diff --git a/playground/src/router/guard.ts b/playground/src/router/guard.ts index 11ac9479..3bbe8dca 100644 --- a/playground/src/router/guard.ts +++ b/playground/src/router/guard.ts @@ -18,7 +18,7 @@ function setupCommonGuard(router: Router) { // 记录已经加载的页面 const loadedPaths = new Set(); - router.beforeEach(async (to) => { + router.beforeEach((to) => { to.meta.loaded = loadedPaths.has(to.path); // 页面加载进度条 From 9e67929ee786b204358a556119976dd2b79acbbb Mon Sep 17 00:00:00 2001 From: anyup <85225562+anyup@users.noreply.github.com> Date: Sat, 10 May 2025 22:33:31 +0800 Subject: [PATCH 2/3] feat: support to refresh the tab page by route name (#6153) Co-authored-by: anyup --- packages/effects/hooks/src/use-tabs.ts | 4 ++-- packages/stores/src/modules/tabbar.ts | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/effects/hooks/src/use-tabs.ts b/packages/effects/hooks/src/use-tabs.ts index 60f70f14..25bc4883 100644 --- a/packages/effects/hooks/src/use-tabs.ts +++ b/packages/effects/hooks/src/use-tabs.ts @@ -41,8 +41,8 @@ export function useTabs() { await tabbarStore.toggleTabPin(tab || route); } - async function refreshTab() { - await tabbarStore.refresh(router); + async function refreshTab(name?: string) { + await tabbarStore.refresh(name || router); } async function openTabInNewWindow(tab?: RouteLocationNormalized) { diff --git a/packages/stores/src/modules/tabbar.ts b/packages/stores/src/modules/tabbar.ts index ec64bdc4..234bb02f 100644 --- a/packages/stores/src/modules/tabbar.ts +++ b/packages/stores/src/modules/tabbar.ts @@ -334,7 +334,13 @@ export const useTabbarStore = defineStore('core-tabbar', { /** * 刷新标签页 */ - async refresh(router: Router) { + async refresh(router: Router | string) { + // 如果是Router路由,那么就根据当前路由刷新 + // 如果是string字符串,为路由名称,则定向刷新指定标签页,不能是当前路由名称,否则不会刷新 + if (typeof router === 'string') { + return await this.refreshByName(router); + } + const { currentRoute } = router; const { name } = currentRoute.value; @@ -349,6 +355,15 @@ export const useTabbarStore = defineStore('core-tabbar', { stopProgress(); }, + /** + * 根据路由名称刷新指定标签页 + */ + async refreshByName(name: string) { + this.excludeCachedTabs.add(name); + await new Promise((resolve) => setTimeout(resolve, 200)); + this.excludeCachedTabs.delete(name); + }, + /** * @zh_CN 重置标签页标题 */ From e89cf400c0da2f2369dfbd8963cb83ec2eb4fa29 Mon Sep 17 00:00:00 2001 From: Netfan Date: Mon, 12 May 2025 23:34:08 +0800 Subject: [PATCH 3/3] fix: refresh command of tabbar issue, fixed: #6162 (#6169) --- packages/effects/layouts/src/basic/tabbar/use-tabbar.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/effects/layouts/src/basic/tabbar/use-tabbar.ts b/packages/effects/layouts/src/basic/tabbar/use-tabbar.ts index b0146ef6..f254a6d3 100644 --- a/packages/effects/layouts/src/basic/tabbar/use-tabbar.ts +++ b/packages/effects/layouts/src/basic/tabbar/use-tabbar.ts @@ -158,7 +158,7 @@ export function useTabbar() { }, { disabled: disabledRefresh, - handler: refreshTab, + handler: () => refreshTab(), icon: RotateCw, key: 'reload', text: $t('preferences.tabbar.contextMenu.reload'),