From c24a82d177149f4ddd6d1ae47d6d9cf347a624fb Mon Sep 17 00:00:00 2001 From: FrozenArcher Date: Thu, 14 Mar 2024 02:33:39 +0800 Subject: [PATCH] improve define menu --- src/App.tsx | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 648e2d3..179be00 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -22,13 +22,9 @@ const keyRouterMap: KeyRouterMap = new Map(); function getItem( label: React.ReactNode, key: React.Key, - route?: { path: string; map: KeyRouterMap }, icon?: React.ReactNode, children?: MenuItem[], ): MenuItem { - if (route !== undefined) { - route.map.set(key, route.path); - } return { key, icon, @@ -42,9 +38,9 @@ function defMenu( key: React.Key, icon: React.ReactNode, path: string, - map: KeyRouterMap, ): MenuItem { - return getItem(label, key, { path: path, map: map }, icon); + keyRouterMap.set(key, path); + return getItem(label, key, icon); } function defRootMenu( @@ -53,29 +49,30 @@ function defRootMenu( icon: React.ReactNode, children: MenuItem[], ): MenuItem { - return getItem(label, key, undefined, icon, children); + return getItem(label, key, icon, children); } function defSubMenu( label: React.ReactNode, key: React.Key, path: string, - map: KeyRouterMap, ): MenuItem { - return getItem(label, key, { path, map }); + keyRouterMap.set(key, path); + return getItem(label, key); } const items: MenuItem[] = [ - defMenu('主页', '0', , '/', keyRouterMap), + defMenu('主页', 'mainpage', , '/'), defRootMenu('展示信息管理', 'sub1', , [ - defSubMenu('选项1', '1', '/admin/hello1', keyRouterMap), - defSubMenu('选项2', '2', '/admin/hello2', keyRouterMap), - defSubMenu('选项3', '3', '/admin/hello3', keyRouterMap), + defSubMenu('选项1', '1', '/admin/hello1'), + defSubMenu('选项2', '2', '/admin/hello2'), + defSubMenu('选项3', '3', '/admin/hello3'), ]), defRootMenu('值班组长', 'sub2', , [ - defSubMenu('选项1', '4', '/duty/hi1', keyRouterMap), - defSubMenu('选项2', '5', '/duty/hi2', keyRouterMap), + defSubMenu('选项1', '4', '/duty/hi1'), + defSubMenu('选项2', '5', '/duty/hi2'), ]), + defMenu('关于我们', 'aboutpage', , '/about'), ]; interface BreadcrumbItem {