diff --git a/apps/admin/src/layout/index.tsx b/apps/admin/src/layout/index.tsx
index 9fdf3c1..c649c33 100644
--- a/apps/admin/src/layout/index.tsx
+++ b/apps/admin/src/layout/index.tsx
@@ -1,6 +1,6 @@
import { Layout } from 'antd';
import ErrorBoundary from 'antd/es/alert/ErrorBoundary';
-import { Outlet } from 'react-router-dom';
+import { Outlet, useLocation } from 'react-router-dom';
import '@/gbeata';
import { AppLogo } from '@/components/AppLogo';
@@ -14,11 +14,13 @@ import useStyles from './index.style';
import LayoutMenu from './menu';
export const BasicLayout = (props: any) => {
+ const { state } = useLocation();
+ const { key = 'key' } = state || {};
useTitle();
const { Sider, Content } = Layout;
const { styles } = useStyles();
- const getMenuFold = useAppSelector((state) => state.app.appConfig?.menuSetting?.menuFold);
+ const getMenuFold = useAppSelector((st) => st.app.appConfig?.menuSetting?.menuFold);
return (
@@ -30,7 +32,7 @@ export const BasicLayout = (props: any) => {
-
+
diff --git a/apps/admin/src/layout/tags/index.tsx b/apps/admin/src/layout/tags/index.tsx
index 151b987..12f9b48 100644
--- a/apps/admin/src/layout/tags/index.tsx
+++ b/apps/admin/src/layout/tags/index.tsx
@@ -8,7 +8,7 @@ import { searchRoute } from '@/utils';
import { basicRoutes } from '@/router';
import { useAppDispatch, useAppSelector } from '@/stores';
-import { addVisitedTags, closeAllTags, closeTagByKey, closeTagsByType } from '@/stores/modules/tags';
+import { addVisitedTags, closeAllTags, closeTagByKey, closeTagsByType, updateVisitedTags } from '@/stores/modules/tags';
import { TagItem } from './components';
import useStyles from './index.module.style';
@@ -166,7 +166,17 @@ const LayoutTags: FC = () => {
navigate(path);
};
- const handleReload = () => {};
+ function getKey() {
+ return new Date().getTime().toString();
+ }
+ const handleReload = () => {
+ // 刷新当前路由,页面不刷新
+ const index = visitedTags.findIndex((tab) => tab.fullPath === activeTag);
+ if (index >= 0) {
+ // 这个是react的特性,key变了,组件会卸载重新渲染
+ navigate(activeTag, { replace: true, state: { key: getKey() } });
+ }
+ };
return (
@@ -182,6 +192,7 @@ const LayoutTags: FC = () => {
{visitedTags.map((item: RouteObject) => (