功能:支持侧边栏多项同时展开

This commit is contained in:
2026-07-21 09:59:17 +08:00
parent d306de48e4
commit 5e1ba70e59

View File

@@ -160,14 +160,13 @@ const MainLayout: React.FC = () => {
useEffect(() => {
if (location.pathname !== prevPathname.current) {
prevPathname.current = location.pathname;
setOpenKeys(findOpenKeys(menuItems, location.pathname));
const routeOpenKeys = findOpenKeys(menuItems, location.pathname);
setOpenKeys((currentKeys) => [...new Set([...currentKeys, ...routeOpenKeys])]);
}
}, [location.pathname, menuItems]);
const handleOpenChange = useCallback((keys: string[]) => {
// 只保留最新打开的一个子菜单
const latestKey = keys[keys.length - 1];
setOpenKeys(latestKey ? [latestKey] : []);
setOpenKeys(keys);
}, []);
const transformToMenuItems = (items: AppMenuItem[]): any[] => {