File tree Expand file tree Collapse file tree 3 files changed +25
-10
lines changed
pages/(blank)/login/code-login Expand file tree Collapse file tree 3 files changed +25
-10
lines changed Original file line number Diff line number Diff line change @@ -3,12 +3,11 @@ import type { FC, PropsWithChildren } from 'react';
3
3
4
4
import { routes } from '@/router' ;
5
5
import { selectActiveFirstLevelMenuKey , setActiveFirstLevelMenuKey } from '@/store/slice/tab' ;
6
- import { getActiveFirstLevelMenuKey } from '@/store/slice/tab/shared' ;
7
6
8
7
import { useLang } from '../lang' ;
9
8
import { useRoute } from '../router' ;
10
9
11
- import { filterRoutesToMenus } from './MenuUtil' ;
10
+ import { filterRoutesToMenus , getActiveFirstLevelMenuKey } from './MenuUtil' ;
12
11
import { MixMenuContext } from './menuContext' ;
13
12
14
13
const MenuProvider : FC < PropsWithChildren > = ( { children } ) => {
@@ -47,7 +46,7 @@ const MenuProvider: FC<PropsWithChildren> = ({ children }) => {
47
46
routeKey = getActiveFirstLevelMenuKey ( route ) ;
48
47
}
49
48
50
- dispatch ( setActiveFirstLevelMenuKey ( routeKey ) ) ;
49
+ dispatch ( setActiveFirstLevelMenuKey ( routeKey || '' ) ) ;
51
50
}
52
51
53
52
const mixMenuContext = useCreation (
Original file line number Diff line number Diff line change @@ -11,9 +11,14 @@ import { $t } from '@/locales';
11
11
export function filterRoutesToMenus ( routes : RouteObject [ ] ) {
12
12
const menus : App . Global . Menu [ ] = [ ] ;
13
13
14
+ const cacheRoutes : string [ ] = [ ] ;
15
+
14
16
for ( const route of routes ) {
15
17
// 如果节点存在 path(注意:这里假设空字符串或 undefined 均视为无 path)
16
- if ( route . path && ! route . handle ?. hideInMenu ) {
18
+ if ( route . handle ?. keepAlive ) {
19
+ cacheRoutes . push ( route . path as string ) ;
20
+ }
21
+ if ( route . path && ! route . handle ?. hideInMenu && route . id ?. includes ( 'base' ) ) {
17
22
// 如果存在 children,则递归处理
18
23
const newNode = getGlobalMenuByBaseRoute ( route ) ;
19
24
@@ -62,3 +67,20 @@ export function getGlobalMenuByBaseRoute(route: RouteObject): App.Global.Menu {
62
67
63
68
return menu ;
64
69
}
70
+
71
+ /**
72
+ * Get active first level menu key
73
+ *
74
+ * @param route
75
+ */
76
+ export function getActiveFirstLevelMenuKey ( route : App . Global . TabRoute ) {
77
+ const { activeMenu, hideInMenu } = route . handle ;
78
+
79
+ const name = route . pathname ;
80
+
81
+ const routeName = ( hideInMenu ? activeMenu : name ) || name ;
82
+
83
+ const [ firstLevelRouteName ] = routeName ;
84
+
85
+ return firstLevelRouteName ;
86
+ }
Original file line number Diff line number Diff line change @@ -2,9 +2,3 @@ export const config = {
2
2
i18nKey : 'route.login_code-login' ,
3
3
title : 'login_code-login'
4
4
} ;
5
-
6
- export const loader = undefined ;
7
-
8
- export const action = undefined ;
9
-
10
- export const shouldRevalidate = undefined ;
You can’t perform that action at this time.
0 commit comments