花了半天时间,写了一个 树,show code

总结:基本每个项目 都有各种各样的树形结构,什么组织机构,权限 什么的,商品分类的,之前也用ztree 写过,今天用layui 自带组件一个

后台代码: 重点 说下 分类树吧

 

 

 

 

 

 

 

 

 

 

前端:

 

 效果:

 

 2. 平铺方式 相比递归简单 思路 1. 循环一边所有节点 2.获取每个节点所有子节点

/**
* 构建树
* @param flowNodeListTOS
* @param rootId
* @return
*/
private List<FlowNodeListTO> buildTree(List<FlowNodeListTO> flowNodeListTOS,Long rootId){
if(CollectionUtils.isNotEmpty(flowNodeListTOS)){
flowNodeListTOS.stream().forEach(node -> {
List<FlowNodeListTO> child = getChild(flowNodeListTOS, node.getId());
node.setChildNode(child);
});
List<FlowNodeListTO> rootNode = flowNodeListTOS.stream().filter(node -> Objects.equals(node.getParentNodeId(), rootId))
.collect(Collectors.toList());
return rootNode;
}
return flowNodeListTOS;
}

/**
* 获取子节点
* @param flowNodeListTOS
* @param parentNodeId
* @return
*/
private List<FlowNodeListTO> getChild(List<FlowNodeListTO> flowNodeListTOS,Long parentNodeId){
List<FlowNodeListTO> nodeList = flowNodeListTOS.stream().filter(node -> Objects.equals(node.getParentNodeId(), parentNodeId))
.collect(Collectors.toList());
return nodeList;
}

 

posted @ 2019-12-17 15:39  川流不息&  阅读(189)  评论(0编辑  收藏  举报