From 5e1ba70e59a388ce0c58194c5c601e764faf36ae Mon Sep 17 00:00:00 2001 From: xiong Date: Tue, 21 Jul 2026 09:59:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=BE=A7=E8=BE=B9=E6=A0=8F=E5=A4=9A=E9=A1=B9=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E5=B1=95=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/src/layouts/MainLayout.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/admin/src/layouts/MainLayout.tsx b/apps/admin/src/layouts/MainLayout.tsx index 6590d38..71448dc 100644 --- a/apps/admin/src/layouts/MainLayout.tsx +++ b/apps/admin/src/layouts/MainLayout.tsx @@ -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[] => {