feat: 修正菜单排序在二级菜单不生效问题 (#7007)

* treeUtil增加对树形结构数据进行递归排序

* 菜单sort排序各级菜单均生效
This commit is contained in:
xueyitt
2025-12-22 19:57:21 +08:00
committed by GitHub
parent 1479f159aa
commit ccf70a1b76
2 changed files with 31 additions and 3 deletions

View File

@@ -6,7 +6,7 @@ import type {
RouteMeta,
} from '@vben-core/typings';
import { filterTree, mapTree } from '@vben-core/shared/utils';
import { filterTree, mapTree, sortTree } from '@vben-core/shared/utils';
/**
* 根据 routes 生成菜单列表
@@ -81,7 +81,7 @@ function generateMenus(
});
// 对菜单进行排序避免order=0时被替换成999的问题
menus = menus.toSorted((a, b) => (a?.order ?? 999) - (b?.order ?? 999));
menus = sortTree(menus, (a, b) => (a?.order ?? 999) - (b?.order ?? 999));
// 过滤掉隐藏的菜单项
return filterTree(menus, (menu) => !!menu.show);