关于umi接管了路由之后的动态配置。
路由通过 router.js 配置文件自动生成。 在 models/ menu.js中可以获取到,但从这里获取到并过滤之后的其实不是路由配置。
正确过滤方式,通过在 router.config.js中,增加一个 字段用来递归过滤,我这里用 local 表示,在config.js中引入了路由配置,从这里过滤就可以了,过滤器代码如下:
//过滤local路由
const filter = (arr) => {
let res = arr.filter(item=>{
if(item.path && item.local){
return false;
}else{
if(item.routes instanceof Array && item.routes.length>0){
item.routes = filter(item.routes);
}
return item;
}
})
return res;
}