首先看一下数据:长这个样子

然后后端做一下处理:

 @Overridepublic List getDicData(Integer parentId) { //从哪一层开始遍历做展示,这里选取根节点,即是:0LambdaQueryWrapper<BusOpenType> wrapper = new LambdaQueryWrapper<>();wrapper.eq(BusOpenType::getParentId, parentId);// 查找出含有此根节点的数据作为第一层List<BusOpenType> list = busOpenTypeMapper.selectList(wrapper);//遍历for (BusOpenType type : list) {//如果获取到的父节点 !=null,即进递归if (type.getParentId() != null) {List<BusOpenType> openTypes = getDicData(type.getId());//取出的数据作为childrentype.setChildren(openTypes);}}//返回return list;}

返回的数据长这样:

此时已经是前端可以接收的数据了,但是如果不加处理,结果长成这样:

当选取到最后一层时,后面还会有个空[],导致我们无法选取,这显然不太合理。
所以我们在前端写个方法稍稍处理一下:

// 去除空children
function deleteChildren(arr) {let childs = arrfor (let i = childs.length; i--; i > 0) {if (childs[i].children) {if (childs[i].children.length) {deleteChildren(childs[i].children)} else {delete childs[i].children}}}return arr}

再引进我们调用的接口中,此时空children就被删除了,看下返回的数据

回到页面,此时结果已经满足需求。

递归形成树形结构,去除树结构里面的空children数组相关推荐

  1. Java8新特性-使用Stream流来实现递归遍历树形结构(案例)

    Java8新特性-Stream流 可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来 ...

  2. 利用Stram来递归生成树形结构

    利用Stram来递归生成树形结构 当需要查询有子菜单,或者子部门这一类需要形成树形的数据时,我们可以使用stream流式编程写 实体类 实体类需要有一个子列,类似此处的子城市 @Data @Equal ...

  3. java arraylist 遍历树_Java递归遍历树形结构

    废话不多说了,直接给大家贴代码,具体代码如下所示://菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { ...

  4. vue横向树结构_Vue 递归实现树形结构

    结果展示 先给出两张效果图,左侧是百度Echarts的文档中心截图,右侧是我个人结合项目中文档中心截图 项目中假设为后台管理系统,一般左侧导航都是树形递归,当然现在也有很多的UI框架,随便套一下也是可 ...

  5. Vue 递归实现树形结构

    2019独角兽企业重金招聘Python工程师标准>>> 结果展示 先给出两张效果图,左侧是百度Echarts的文档中心截图,右侧是我个人结合项目中文档中心截图 项目中假设为后台管理系 ...

  6. java—stream流递归实现树形结构

    一.在项目开发中,经常会遇到像菜单式的页面,如下图 数据表结构一般像一个树形结构一样 对应的Model体 @Data //代替get.set方法 @ApiModel("知识园地视图" ...

  7. Java后端递归构建树形结构

    记录:在Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示. 简明:为了简化代码,引入Lombok的Jar包,可省略实体类set().get()方法. <dep ...

  8. php 递归生成树形菜单,递归生成树形结构菜单

    public List listWithTree() { //1.查出所有菜单 List categoryEntities = categoryDao.selectList(null); //2.组装 ...

  9. mybatis mysql查询树形结构_mybatis树结构查询的方法

    记录一下 表结构为: BKZ101 bigint(16) (NULL) NO PRI (NULL) select,insert,update,references DRGS疾病分组ID BKA504 ...

最新文章

  1. Matlab编程与数据类型 -- 开关语句switch/end
  2. c语言水印添加,[求助]C语言 bmp文件加上水印
  3. 对不起,亲爱的,我将离开你
  4. the server did not provide any additional information
  5. 以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发者面板出错总结
  6. Scrapy定向爬虫教程(三)——爬取多个页面
  7. 中service层的作用_浅析Java中dto、dao、service、controller的四层结构
  8. HDS业务定义永续IT架构
  9. 最优化学习笔记(三)最速下降法
  10. HTML CSS设计与构建网站
  11. 布局文件是如何被解析的?
  12. 现代通信原理10.2:采用匹配滤波器的数字基带传输系统误码性能分析
  13. Execl同时冻结行和列
  14. 怎么成为抖音本地生活服务商家?需要哪些资质条件?
  15. 第二次作业—时事点评
  16. html纵向时间轴代码,垂直时间轴HTML
  17. android跑马灯监听,android跑马灯成效
  18. 项目管理学习 ---- 理解项目管理思维框架
  19. 解决电脑右侧数字键盘无法打出数字问题
  20. 程序员首先要能坐得住

热门文章

  1. myeclipse10配置jdk
  2. Dubbo原理解析(非常透彻)
  3. 根据地址让高德地图显示多个点
  4. putty使用教程(总结)
  5. 基于深度学习的目标检测:数据增强(一)图像翻转、图像旋转、图像放缩
  6. android 高仿糯米界面,iOS (UIButton封装)仿糯米首页缩放“按钮”效果
  7. input文本框的oninput和onchange失效
  8. 调用函数时在函数名前加“(void)”
  9. 这种可触摸的3D激光显示非常神奇!
  10. 易基因|DNA甲基化方法全解析:方法发展、技术应用、优缺点