diff --git a/src/layout/RootLayout.tsx b/src/layout/RootLayout.tsx index 45b9fa2..289d617 100644 --- a/src/layout/RootLayout.tsx +++ b/src/layout/RootLayout.tsx @@ -53,9 +53,11 @@ export default () => { } const [ rootMenuKeys, setRootMenuKeys ] = useState(() => { const item = menusFlatten.current?.find(item => item.path === location.pathname) + if (item?.meta.affix) { + return [ item.meta.name ] + } return item ? item.parentName : [] }) - const childMenuRef = useRef([]) childMenuRef.current = menuData.find(item => { @@ -64,7 +66,7 @@ export default () => { useEffect(() => { const item = menusFlatten.current?.find(item => item.path === location.pathname) - if (item && item.key !== rootMenuKeys?.[0]) { + if (item && item.meta.name !== rootMenuKeys?.[0]) { setRootMenuKeys(item.parentName) } }, [ location.pathname ]) diff --git a/src/types/system/menus.d.ts b/src/types/system/menus.d.ts index 429c945..607b3a3 100644 --- a/src/types/system/menus.d.ts +++ b/src/types/system/menus.d.ts @@ -6,6 +6,8 @@ export interface MenuButton { export interface Meta { + affix: boolean, + name: string } export interface IMenu {