树结构分页方案

背景

需要实现一个树结构的查询,分页,过滤功能。

难点

1.如果按照全数据分页,会出现一棵树在2个页上,出现断层。

2.过滤后,最好的体验是节点的上级节点需要展示。

方案思路

1.只对顶层节点进行分页。

2.递归的去过滤树节点。

实现

获取列表数据

此时树列表数据对应的是数据库的一行行记录,最小化粒度的获取到树的列表数据,方便后续的递归。

树转化

列表数据转化为树结构。

树过滤

使用递归的方式,对节点进行过滤。

过滤条件

树过滤

树分页

使用

全代码

Last updated