Skip to content

Commit

Permalink
fix(projects): fix breadcrumb when activeMenu is parent menu. fixed #589
Browse files Browse the repository at this point in the history
  • Loading branch information
honghuangdc committed Sep 7, 2024
1 parent 531bfaf commit 79b2a28
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions src/store/modules/route/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,15 +281,25 @@ export function getBreadcrumbsByRoute(
const key = route.name as string;
const activeKey = route.meta?.activeMenu;

const menuKey = activeKey || key;

for (const menu of menus) {
if (menu.key === menuKey) {
const breadcrumbMenu = menuKey !== activeKey ? menu : getGlobalMenuByBaseRoute(route);

if (menu.key === key) {
const breadcrumbMenu = menu;
return [transformMenuToBreadcrumb(breadcrumbMenu)];
}

if (menu.key === activeKey) {
const ROUTE_DEGREE_SPLITTER = '_';

const parentKey = key.split(ROUTE_DEGREE_SPLITTER).slice(0, -1).join(ROUTE_DEGREE_SPLITTER);

const breadcrumbMenu = getGlobalMenuByBaseRoute(route);
if (parentKey !== activeKey) {
return [transformMenuToBreadcrumb(breadcrumbMenu)];
}

return [transformMenuToBreadcrumb(menu), transformMenuToBreadcrumb(breadcrumbMenu)];
}

if (menu.children?.length) {
const result = getBreadcrumbsByRoute(route, menu.children);
if (result.length > 0) {
Expand Down

0 comments on commit 79b2a28

Please sign in to comment.