请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我想问一个多级多级菜单的问题

就是,假如有三级的菜单,用来做按钮权限的,

我后端将数据包装好之后,对象假如是这样的

public class Menu {
// 菜单id
private String id;
// 菜单名称
private String name;
// 父菜单id
private String parentId;
// 菜单url
private String url;
// 菜单图标
private String icon;
// 菜单顺序
private int order;
// 子菜单
private List

}

就想当于list 里面嵌套了2层List,每一个菜单对象里面除了自身id还有对应他的父id。
老师,我这样返回给前端后,他遍历后获取数据,显示菜单;有这么一个问题,
比如直接勾选第三级的某个菜单之后,那么相应逻辑应该是默认应该自动勾选上这个三级菜单的父菜单,也就是二级菜单,以此类推;

那么上面提到,每一个菜单对象只有自身id,以及它的父id,但是获取不到它的父id的父id;

他想让我在每一个菜单对象里面加上它所有的父id,相当于一直加到一级菜单的id,这样方便它勾选的时候,操作;但是如果这样去加的话,我得在菜单对象里面加父级菜单的id,现在是三级菜单,那么需要2个字段,一个是二级菜单id,一个是一级菜单id,但是问题是,如果又增加了一级菜单,4级菜单,我不是又得去改动代码,,这样太麻烦了;

我意思想让前端,在遍历的时候,将自身id,给传递带下去,比如现在三级,
遍历一级的时候,将自身Id 和 父id暂存,当遍历对应二级菜单的时候,

讲一级的id和父id传递下去,以此类推,这样可以解决那个问题嘛,或者老师有其他什么一些巧妙的方法,也不知道老师了不了解前端,还有就是表达能力不是太好,老师如果看的明白的话,给个思路,哈哈,谢谢老师

正在回答

1回答

你和前端提出的两个方法都是可以解决这个问题的,就看谁来做了。

我的观点是,你没必要给每个菜单都加父节点,这样信息冗余,毫无必要。

我给出一个标准的多级菜单的json,你们可以参考,理论上前端控件是可以自动识别的,也不需要他改代码:

https://img1.sycdn.imooc.com//szimg/5da189900903a2ab09282182.jpg

1 回复 有任何疑惑可以回复我~
  • 提问者 奶茶三兄弟d #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-10-12 16:08:18
  • 提问者 奶茶三兄弟d #2
    谢谢老师,我觉得也是这样,以后即便再往下加几级菜单,都不应该去改动代码,不然的话,加一层,改一次,那就太麻烦了!
    回复 有任何疑惑可以回复我~ 2019-10-12 16:11:21
  • 悟空 回复 提问者 奶茶三兄弟d #3
    对的,那样不合理
    回复 有任何疑惑可以回复我~ 2019-10-12 16:19:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信