【combotree格式数据】List数据转换成combotree需要的数据格式,一次性加载 及 懒加载方式各举一例

本文介绍了如何将数据库查询的List数据转换为combotree所需的格式,包括一次性加载所有数据和懒加载方式。提供了一种根据数据层级进行分组和组装的思路,并给出了具体的代码实现。同时,还讲解了combotree的懒加载功能,利用onBeforeExpand回调函数在用户点击展开图标时加载子节点数据。
摘要由CSDN通过智能技术生成

        最近项目里遇到需要combotree的地方,需要把数据一次性加载完毕,所以要构造每个节点里带children属性的JSON数据,而不能选择懒加载的方式,每次点击展开图标时才加载本节点所属子节点数据。所以本文先介绍整体数据转换成combotree所需格式的方式,最后再介绍懒加载方式的实现。

        我们需要的数据格式举例如下:[{

"id":"id1",

"text":"text1",

"state":"closed",

"children":[{

        "id":"id11",

         "text":"text11"

        }]

}]

        但是我的数据是数据库查询出来的一条条的并列数据,需要自己组装。开始百度了半天发现不是手动给你写出个这个格式的JSON串的,就是一堆代码运行出来,结果数据还不对。最后只能自己写,思路可能跟网上大神很不同,但是也算完美解决了问题,记录如下:

        具体思路就是,把原始数据按数据层级(level,就是最后要形成的树结构里的层级,我的数据是用 start with -- connect by  -- prior 查出来的,所以天然可以查到level这个属性)先分组,有几个层级,就分成几组,每组数据组成一个list,然后从层级最大的那个list开始,一级级循环着把数据分别挂接到他的上层节点作为children,最后就形成了我们需要的数据结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值