fix(projects): fix breadcrumb when activeMenu is parent menu. fixed #589
This commit is contained in:
parent
531bfaf1b9
commit
79b2a28b5a
@ -281,15 +281,25 @@ export function getBreadcrumbsByRoute(
|
|||||||
const key = route.name as string;
|
const key = route.name as string;
|
||||||
const activeKey = route.meta?.activeMenu;
|
const activeKey = route.meta?.activeMenu;
|
||||||
|
|
||||||
const menuKey = activeKey || key;
|
|
||||||
|
|
||||||
for (const menu of menus) {
|
for (const menu of menus) {
|
||||||
if (menu.key === menuKey) {
|
if (menu.key === key) {
|
||||||
const breadcrumbMenu = menuKey !== activeKey ? menu : getGlobalMenuByBaseRoute(route);
|
const breadcrumbMenu = menu;
|
||||||
|
|
||||||
return [transformMenuToBreadcrumb(breadcrumbMenu)];
|
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) {
|
if (menu.children?.length) {
|
||||||
const result = getBreadcrumbsByRoute(route, menu.children);
|
const result = getBreadcrumbsByRoute(route, menu.children);
|
||||||
if (result.length > 0) {
|
if (result.length > 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user