ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态) 问题场景: 解决思路:

在ant design vue pro前端框架中,菜单是通过路由来配置,如下图所示,“测试版本”菜单下有“测试计划列表”数据,当点击某个计划数据进入其他页面后,“测试版本”菜单的样式就失去选中状态了

这里涉及一个问题,“测试计划”数据对应的路由和“测试版本”路由之间不是父子关系,在网上搜索的时候,较常看到如何设置父级菜单的选中状态,这里的解决办法不用管是否是父子关系。

ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态)
问题场景:
解决思路:

解决思路:

先看下ant design vue pro的layout布局方式(前人基础上的工程):

ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态)
问题场景:
解决思路:

基础布局中,通过side-menu组件控制布局,找到side-menu组件:

ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态)
问题场景:
解决思路:

从引用关系,依赖index组件,再找到index组件:

ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态)
问题场景:
解决思路:

 发现index中依赖menu组件,再找到menu(就是这里添加代码)

发现在有个更新菜单的函数,里面会根据路由的path动态拼装选中的路由地址

解决方法:就在拼装好this.selectedKeys后,加入一个判断,根据当前所选路由,判断是否要在this.selectedKeys中添加要选中的菜单路由path。

ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态)
问题场景:
解决思路:

 测试结果:目前好用。

 可以看到,路由已经切到测试计划,但是“测试版本”菜单仍然是选中状态。

 ant design vue pro中,人为控制菜单选中状态(包括操作子路由时让父级菜单选中状态)
问题场景:
解决思路: