iot-ui-vue/src/views/system/Menu/Setting/utils.ts

17 lines
526 B
TypeScript

/**
* 根据权限过滤菜单
*/
export const filterMenu = (permissions: string[], menus: any[]) => {
return menus.filter((item) => {
let isShow = false;
if (item.showPage && item.showPage.length) {
isShow = item.showPage.every((pItem: any) => {
return permissions.includes(pItem);
});
}
if (item.children) {
item.children = filterMenu(permissions, item.children);
}
return isShow || !!item.children?.length;
});
};