fix: problem tha the authority config of route be overwritten; 🐛

修复:路由权限配置被覆盖的问题;
This commit is contained in:
iczer 2020-09-01 19:59:50 +08:00
parent 1fb75f491d
commit 5ec6f73d6f

View File

@ -55,9 +55,11 @@ function hasAnyRole(required, roles) {
*/
function filterMenu(menuData, permissions, roles) {
menuData.forEach(menu => {
menu.meta.invisible = !hasPermission(menu, permissions) && !hasRole(menu, roles)
if (menu.children && menu.children.length > 0) {
filterMenu(menu.children, permissions, roles)
if (menu.meta && menu.meta.invisible === undefined) {
menu.meta.invisible = !hasPermission(menu, permissions) && !hasRole(menu, roles)
if (menu.children && menu.children.length > 0) {
filterMenu(menu.children, permissions, roles)
}
}
})
}