diff --git a/src/components/layout/Layout.vue b/src/components/layout/Layout.vue
index 532607f..924d33b 100644
--- a/src/components/layout/Layout.vue
+++ b/src/components/layout/Layout.vue
@@ -22,9 +22,9 @@
>
-
+
-
+
@@ -40,8 +40,19 @@ defineOptions({
import Header from './Header.vue'
import Sidebar from './Sidebar.vue'
import Tabs from './Tabs.vue'
+import { useTabsStore } from '@/stores/modules/tabs'
const route = useRoute()
+const tabsStore = useTabsStore()
+
+// 用于组件重新渲染的 key
+const refreshKey = computed(() => {
+ // 当 refreshKey 包含当前路由时,重新渲染组件
+ if (tabsStore.refreshKey.startsWith(route.path)) {
+ return tabsStore.refreshKey
+ }
+ return route.path
+})
// 侧边栏收缩状态
const sidebarCollapsed = ref(false)
diff --git a/src/components/layout/Tabs.vue b/src/components/layout/Tabs.vue
index b86eff7..26f4714 100644
--- a/src/components/layout/Tabs.vue
+++ b/src/components/layout/Tabs.vue
@@ -82,7 +82,11 @@
:style="contextMenuStyle"
@click.stop
>
-