修复:更改角色后菜单不能正确显示的问题;#179
fix: the menu does not display correctly after changing roles;
| | |
| | | menuData(state, getters, rootState) { |
| | | if (state.filterMenu) { |
| | | const {permissions, roles} = rootState.account |
| | | filterMenu(state.menuData, permissions, roles) |
| | | state.menuData = filterMenu(state.menuData, permissions, roles) |
| | | } |
| | | return state.menuData |
| | | }, |
| | |
| | | * @param roles |
| | | */ |
| | | function filterMenu(menuData, permissions, roles) { |
| | | menuData.forEach(menu => { |
| | | return menuData.filter(menu => { |
| | | if (menu.meta && menu.meta.invisible === undefined) { |
| | | if (!hasAuthority(menu, permissions, roles)) { |
| | | menu.meta.invisible = true |
| | | } |
| | | if (menu.children && menu.children.length > 0) { |
| | | filterMenu(menu.children, permissions, roles) |
| | | return false |
| | | } |
| | | } |
| | | if (menu.children && menu.children.length > 0) { |
| | | menu.children = filterMenu(menu.children, permissions, roles) |
| | | } |
| | | return true |
| | | }) |
| | | } |
| | | |