m0_56789428 2023-06-21 11:44 采纳率: 97.4%
浏览 26
已结题

layui dtree,树形结构不显示问题


 layui.dtree.renderSelect({
            elem: "#dtreeSelectdtreeSelect_1683857832782" ,
           method: "post", //默认为post
           url: url + '/attendance/queryPeopleTreeData',
            skin: "blueStyle",
            ficon: ["2", "-1"],  // 隐藏二级图标
            icon: '-1',  // 隐藏二级图标
            data: ResData,
            // dataFormat: "list",  //配置data的风格为list
            checkbar: true, //是否开启复选框
            checkbarType: "p-casc", //复选框选中形式: all:子集选中父级也选中, no-all:子集选中父级半选中,子集全选父级选中, p-casc:父级选中子集全选,子集无法改变父级选中状态, self:没有任何级联关系, only:仅存一个
            checkbarLoad: "node", //复选框作用范围,node:所有节点, leaf:最后一级
            // selectInitVal: u_selectinitval, //设置默认值
            done: function (res, $obj, first) {
                               
            }
        });
        layui.form.render();

其中data数据。

img


现在的效果是:

img


因为网上说总的父id要改为 0 ,我也设置为0了,为什么还是没结构?

  • 写回答

4条回答 默认 最新

  • 竹山全栈 2023-06-21 13:11
    关注

    通过对列表数据进行遍历和重构,还可以将其转换为树形结构数据。具体代码实现可以参考如下示例:

    function toTreeData(list, parentId) {
      let result = [];
      for (let i = 0; i < list.length; i++) {
        let node = list[i];
        if (node.parentId == parentId) {
          let children = toTreeData(list, node.id);
          if (children.length > 0) {
            node.children = children;
          }
          result.push(node);
        }
      }
      return result;
    }
    
    var ResData = toTreeData(ResData, "0");
    

    通过调用toTreeData()方法,可以将前面提到的list格式数据转换为树形结构数据。初始父级ID值为0。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月21日
  • 修改了问题 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗