使用递归生成一个树形组件

在最近做到一个项目,有一个需求,要求我根据数据库中的商品类型表中的数据生成一个多级树形组件。

 

如上图所示,在开始部署项目时,我并没有太关注这个需求,在数据库设计阶段,由于我是第一次做这个树形组件,我就做了两个商品类型表。后来我们做这个树形组件时,发现我只能生成两级的树形组件,如果是三级四级的树形组件就不能使用这种方式。

我是这样解决这个问题的,我就使用一个表来实现这个需求。

 

我重新对数据库中的商品类型表进行了修改,在Parent属性中我就存放进这个商品类型的上级类型ID值,根据这个ID值判断是什么类型是它的父级。而一级(最大的类型)就使用0来表示是最大的类型。

 

当这个表设计完成后,又有一个疑问。该怎么实现这个功能呢?这时候我想到了递归(简单来说:就是在一个方法中调用自身,这个要注意的是要有一个终止方法的条件,不然就是一个死循环了)。

 

我先创建一个类,这个类中 title属性就是它当前级别的名称,而List<LayuiTree>集合中存储可能存在多个的下级信息

后端代码:

 

前端代码,我在前端偷了个懒,使用的是Layui插件中的树形组件。具体可以在Layui插件官网中进行查看

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值