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

来源:12-10 可见性问题

奶茶三兄弟d

2019-10-11

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

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

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回答

悟空

2019-10-12

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

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

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

//img.mukewang.com/szimg/5da189900903a2ab09282182.jpg

1
3
悟空
回复
奶茶三兄弟d
对的,那样不合理
2019-10-12
共3条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程