fix: 修改菜单额外路由无法访问问题

This commit is contained in:
XieYongHong 2023-07-25 14:27:47 +08:00
parent 80aa27a14e
commit ccbdef9f3c
1 changed files with 18 additions and 2 deletions

View File

@ -384,7 +384,8 @@ const hasExtraChildren = (item: MenuItem, extraMenus: any ) => {
if (extraItem) {
return extraItem.children.map(e => ({
...e,
url: `${item.url}${e.url}`,
code: `${item.code}/${e.code}`,
url: `${item.url}/${e.code}`,
isShow: false
}))
}
@ -416,6 +417,21 @@ const findDetailRouteItem = (item: any, components: any) => {
return []
}
const findSaveRouteItem = (item: any, components: any) => {
const { code, url } = item
const Component = components[`${item.code}/Save`]
if (Component) {
return [{
url: `${url}/detail/:id`,
code: `${code}/Save`,
component: Component,
name: '详情信息',
isShow: false
}]
}
return []
}
export const handleMenus = (menuData: any[], components: any, level: number = 1) => {
if (menuData && menuData.length) {
return menuData.map(item => {
@ -433,8 +449,8 @@ export const handleMenus = (menuData: any[], components: any, level: number = 1)
const extraRoute = hasExtraChildren(item, extraRouteObj)
const detail_components = findDetailRouteItem(item, components)
if (extraRoute && !isApp) { // 包含额外的子路由
console.log(extraRoute)
route.children = route.children ? [...route.children, ...extraRoute] : extraRoute
}