improve define menu
parent
ec711daa0c
commit
c24a82d177
27
src/App.tsx
27
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', <DesktopOutlined />, '/', keyRouterMap),
|
||||
defMenu('主页', 'mainpage', <DesktopOutlined />, '/'),
|
||||
defRootMenu('展示信息管理', 'sub1', <UserOutlined />, [
|
||||
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', <TeamOutlined />, [
|
||||
defSubMenu('选项1', '4', '/duty/hi1', keyRouterMap),
|
||||
defSubMenu('选项2', '5', '/duty/hi2', keyRouterMap),
|
||||
defSubMenu('选项1', '4', '/duty/hi1'),
|
||||
defSubMenu('选项2', '5', '/duty/hi2'),
|
||||
]),
|
||||
defMenu('关于我们', 'aboutpage', <UserOutlined />, '/about'),
|
||||
];
|
||||
|
||||
interface BreadcrumbItem {
|
||||
|
|
|
|||
Loading…
Reference in New Issue