树形菜单过滤
有两个树形结构的菜单数据小功能有点意思,特地记录一下
(1)过滤掉父级中断的数据
菜单列表数据,本来是,如果勾选了一个子级菜单,那么其所有上层父级菜单也会勾选保存到后台,此数据用户前端页面查询进行渲染成树形菜单,当然也可以后端直接处理成树形菜单(后端处理成树形菜单,那么父级中断的菜单就会直接过滤掉,不需要再处理),但是这个接口是个非树形列表,那么就需要简单过滤下(一般前端组件其实也不会报错,对于这种数据)
(2) 完全匹配父子级每一层
用于一些父子级名称匹配批量导入的功能,需要在导入excel中完整输入父子级,比如数据是 首页-工作台-用户列表,那么用户在excel中输入 首页-工作台1-用户列表或者 首页-用户列表这种不完全匹配的数据就需要过滤掉或业务异常中断提醒,完全匹配是因为数据库存的是id唯一,名称是可以跨级重复的,对于用户来说,他们只知道名称。
实操:
pom依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</dependency>
(1)过滤中断
List<MenuDto> menuList = new ArrayList<>();
List<MenuDto> finalDtoList = menuList ;
menuList.stream().filter(p -> p.getPid().equals(0) || finalDtoList.stream()
.allMatch(parent -> parent.getPid()

文章介绍了在前端和后端处理树形菜单时,如何过滤掉父级中断的数据以及实现父子级完全匹配的功能,使用了Hutool库,并给出了Java代码示例。
最低0.47元/天 解锁文章
1508

被折叠的 条评论
为什么被折叠?



