File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -281,15 +281,25 @@ export function getBreadcrumbsByRoute(
281
281
const key = route . name as string ;
282
282
const activeKey = route . meta ?. activeMenu ;
283
283
284
- const menuKey = activeKey || key ;
285
-
286
284
for ( const menu of menus ) {
287
- if ( menu . key === menuKey ) {
288
- const breadcrumbMenu = menuKey !== activeKey ? menu : getGlobalMenuByBaseRoute ( route ) ;
289
-
285
+ if ( menu . key === key ) {
286
+ const breadcrumbMenu = menu ;
290
287
return [ transformMenuToBreadcrumb ( breadcrumbMenu ) ] ;
291
288
}
292
289
290
+ if ( menu . key === activeKey ) {
291
+ const ROUTE_DEGREE_SPLITTER = '_' ;
292
+
293
+ const parentKey = key . split ( ROUTE_DEGREE_SPLITTER ) . slice ( 0 , - 1 ) . join ( ROUTE_DEGREE_SPLITTER ) ;
294
+
295
+ const breadcrumbMenu = getGlobalMenuByBaseRoute ( route ) ;
296
+ if ( parentKey !== activeKey ) {
297
+ return [ transformMenuToBreadcrumb ( breadcrumbMenu ) ] ;
298
+ }
299
+
300
+ return [ transformMenuToBreadcrumb ( menu ) , transformMenuToBreadcrumb ( breadcrumbMenu ) ] ;
301
+ }
302
+
293
303
if ( menu . children ?. length ) {
294
304
const result = getBreadcrumbsByRoute ( route , menu . children ) ;
295
305
if ( result . length > 0 ) {
You can’t perform that action at this time.
0 commit comments