纯分享,使用场景自己发掘,涉及到源码修改,普通的菜单切换还是通过显隐和权限来控制比较合适。
- 将 io.jmix.ui.menu.MenuConfig类转换为接口
- 新建一个实现类 MenuConfigImpl,内容为原始MenuConfig类里的内容,确保原始功能正常
- 在项目里新建一个MenuConfig实现类,继承MenuConfigImpl类
- 重写 checkInitialized()、init()两个方法,在init()里就可以动态的加载menu.xml文件了
- 项目实现类加上 @Primary注解
还有其他不错的实现方式欢迎讨论。