LayUI树形图后台简单数据封装并提供前台树形图点击样式

效果图:

 后台代码:

        //封装数据  最外层
            List<Map> childrenList =         
            this.contractService.TreeData(projectIds,buildMap,resultList);
            map.put("id", null);
            map.put("title", "安置项目");
            map.put("accordion", true);
            map.put("spread", true);
            map.put("children", childrenList);



  /**
     * 封装数据树形图数据
     *
     * @param projectIds
     * @param buildMap
     * @param resultList
     */
    public List<Map> TreeData(ArrayList<Integer> projectIds, Map buildMap, ArrayList<Map> resultList) {
        if (CollectionUtils.isNotEmpty(buildMap)) {
            Map map = null;
            Map valueMap = null;
            List<String> itemList = null;
            List<Map> childrenList = null;
            for (Integer pId : projectIds) {
                map = null;
                map = Maps.newHashMap();
                map.put("id", null);
                if (pId==1) {
                    map.put("spread", true);
                }
                map.put("title", pId == 1 ? "A区" : "B区");
                map.put("value", pId == 1 ? "A区" : "B区");
                itemList = null;
                itemList = (List<String>) buildMap.get(pId + "");
                childrenList = new ArrayList<>();
                if (!CollectionUtils.isEmpty(itemList)) {
                    for (String buildNum : itemList) {
                        valueMap = null;
                        valueMap = Maps.newHashMap();
                        valueMap.put("id", pId);
                        valueMap.put("title", "<span class='innerChildren" + pId + buildNum + "'>" + buildNum + "号楼</span>");
                        valueMap.put("value", buildNum);
                        childrenList.add(valueMap);
                    }
                }
                map.put("children", childrenList);
                resultList.add(map);
            }
            return resultList;
        }
        return null;
    }

部分前端JS:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中,可以使用递归算法来快速封装树形结构数据。以下是一个示例代码,展示如何使用递归算法来封装树形结构数据: ```java public class TreeUtils { /** * 将数据列表封装成树形结构 * @param dataList 数据列表 * @param <T> 数据类型 * @return 树形结构 */ public static <T extends TreeNode> List<T> buildTree(List<T> dataList) { List<T> treeList = new ArrayList<>(); // 构建根节点 for (T node : dataList) { if (node.getParentId() == null || node.getParentId().equals("")) { treeList.add(node); } } // 构建子节点 for (T node : treeList) { buildChildren(node, dataList); } return treeList; } /** * 递归构建子节点 * @param parentNode 父节点 * @param dataList 数据列表 * @param <T> 数据类型 */ private static <T extends TreeNode> void buildChildren(T parentNode, List<T> dataList) { for (T node : dataList) { if (node.getParentId() != null && node.getParentId().equals(parentNode.getId())) { parentNode.addChild(node); buildChildren(node, dataList); } } } } ``` 在上面的示例代码中,buildTree() 方法用于将数据列表封装成树形结构,buildChildren() 方法用于递归构建子节点。在构建树形结构时,首先需要找到根节点,然后递归构建子节点。对于每个节点,可以通过 addChild() 方法将其添加到父节点的 children 列表中。 使用上述代码,可以快速地封装树形结构数据,并且可以方便地遍历和操作树形结构数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值