fix: bug when refresh page

This commit is contained in:
Junyan Qin
2025-05-10 11:46:23 +08:00
parent dbdb942156
commit be46997fe2
@@ -24,9 +24,7 @@ export default function HomeSidebar({
handleRouteChange(pathname); handleRouteChange(pathname);
}, [pathname]); }, [pathname]);
const [selectedChild, setSelectedChild] = useState<SidebarChildVO>( const [selectedChild, setSelectedChild] = useState<SidebarChildVO>();
sidebarConfigList[0],
);
useEffect(() => { useEffect(() => {
console.log('HomeSidebar挂载完成'); console.log('HomeSidebar挂载完成');
@@ -42,8 +40,18 @@ export default function HomeSidebar({
} }
function initSelect() { function initSelect() {
// 根据当前路径选择对应的菜单项
const currentPath = pathname;
const matchedChild = sidebarConfigList.find(
(childConfig) => childConfig.route === currentPath,
);
if (matchedChild) {
handleChildClick(matchedChild);
} else {
// 如果没有匹配的路径,则默认选择第一个
handleChildClick(sidebarConfigList[0]); handleChildClick(sidebarConfigList[0]);
} }
}
function handleRoute(child: SidebarChildVO) { function handleRoute(child: SidebarChildVO) {
console.log(child); console.log(child);
@@ -98,7 +106,10 @@ export default function HomeSidebar({
> >
<SidebarChild <SidebarChild
onClick={() => {}} onClick={() => {}}
isSelected={selectedChild.id === config.id} isSelected={
selectedChild !== undefined &&
selectedChild.id === config.id
}
icon={config.icon} icon={config.icon}
name={config.name} name={config.name}
/> />