Closed XiaYaXia closed 3 years ago
PATH传参? 祥细展开一下?
服务器获取的子菜单PATH是带参的 ,页面路由是同一页面
{"children":[{"name":"APP综合配置","path":"/system/BaseConfig?fid=113","icon":"","auth":"abc?groupfid=113"},{"name":"其他配置","path":"/system/BaseConfig?fid=112","icon":"","auth":"abc?groupfid=112"}]}
key 相同报错,我重写了key
const loopMenuItem = (menus: MenuDataItem[]): MenuDataItem[] =>
menus.map(({ icon, children, key, ...item }) => ({
...item,
query: item.path,
key: item.path.indexOf('?') != -1 ? item.path.split('?')[1].split('=')[1] :'',
path:item.path,
icon: icon && IconMap[icon as string],
children: children && loopMenuItem(children),
}));
点击菜单 页面props 获取不到参数?fid=113 layout/index.js 里面直接丢弃了?后面的参数 我就重新传了一个query: item.path, 在pro-layout prolayout.js 12388行 将item.path 换成了item.query 临时解决了我的需求 点击菜单 跳转页面路径变为 http://localhost:8000/system/BaseConfig?fid=113 props 里 props.location.query.fid 能正常获取菜单path附加的参数 但是KEY 在菜单选择的时候还不能正常显示当前选择菜单项
/system/BaseConfig 复用问题 看官方有没有正确的使用方法 /system/BaseConfig里的表单由schema-generator保存propsSchema , form-render解析propsSchema生成
菜单key 还没弄 不能正确显示当前项 先临时这样用了
没有那么复杂
怎么简单实现呢?
这个问题解决了吗?
@chenshuai2144 兄弟,什么时候能调整一下?升级了layout,发现不能用了。
@XiaYaXia 你是怎么处理的? 明显是这里给过滤掉了
@quarkcms 我上面有说 我改的KEY 和自己传一个参数 你看下
这个问题很无语啊,以前用着好好的;我看了你的方案,并没有找到那个参数。
query: item.path 这个是我自己加的 在pro-layout prolayout.js 12388行 将item.path 换成了item.query 换成我自己传的参数 不经过过滤的参数
你pro-layout是哪个版本?不同版本,代码不一。。。。
V5
@chenshuai2144 @sorrycc @hihuangwei 能否帮忙解答一下怎么处理?
@XiaYaXia 你用的是ant-pro吧?我直接用的ant-layout
一样的 找到 pro-layout prolayout.js (可能是其他文件名) 里面 生成跳转链接的地方改自己传的参
@hihuangwei @chenshuai2144 @sorrycc 大侠们帮帮忙
@XiaYaXia 也可以将umijs/route-utils依赖退回到1.0.17; @chenshuai2144 如果下次有不兼容性的版本升级,建议遵循语义化规则。
@quarkcms, 没想到有人这么用,我把这个功能删除一下
@chenshuai2144 嗯嗯,其实这种用法应该比较常见,我的菜单全部都是后台配置,从后台读取的。
这个问题好像并没有解决
🥰 需求描述
👑 [需求]服务器加载导航菜单 约定式路由 如何用PATH传参
🧐 解决方案
🚑 其他信息