如图树形结构 取出父级的Id和他的子集children中的Id,然后列表渲染怎么取?


[
  {
    "direId": 258,
    "name": "年度报告目录4",
    "pid": 0,
    "children": [
      {
        "direId": 267,
        "name": "年度报告目录4-1",
        "pid": 258,
        "children": null,
        "desc": null,
        "content": null,
        "reportId": null,
        "academyId": null,
        "createTime": "2023-02-15 14:27:51"
      },
      {
        "direId": 268,
        "name": "年度报告目录4-2",
        "pid": 258,
        "children": null,
        "desc": null,
        "content": null,
        "reportId": null,
        "academyId": null,
        "createTime": "2023-02-15 14:27:55"
      }
    ],
    "desc": null,
    "content": null,
    "reportId": null,
    "academyId": null,
    "createTime": "2023-02-15 14:25:22"
  },
  {
    "direId": 259,
    "name": "年度报告目录5",
    "pid": 0,
    "children": [
      {
        "direId": 269,
        "name": "年度报告目录5-1",
        "pid": 259,
        "children": null,
        "desc": null,
        "content": null,
        "reportId": null,
        "academyId": null,
        "createTime": "2023-02-15 14:28:03"
      },
      {
        "direId": 270,
        "name": "年度报告目录5-2",
        "pid": 259,
        "children": null,
        "desc": null,
        "content": null,
        "reportId": null,
        "academyId": null,
        "createTime": "2023-02-15 14:28:08"
      }
    ],
    "desc": null,
    "content": null,
    "reportId": null,
    "academyId": null,
    "createTime": "2023-02-15 14:25:30"
  },
  {
    "direId": 260,
    "name": "年度报告目录6",
    "pid": 0,
    "children": [
      {
        "direId": 271,
        "name": "年度报告目录6-1",
        "pid": 260,
        "children": null,
        "desc": null,
        "content": null,
        "reportId": null,
        "academyId": null,
        "createTime": "2023-02-15 14:28:18"
      },
      {
        "direId": 272,
        "name": "年度报告目录6-2",
        "pid": 260,
        "children": null,
        "desc": null,
        "content": null,
        "reportId": null,
        "academyId": null,
        "createTime": "2023-02-15 14:28:22"
      }
    ],
    "desc": null,
    "content": null,
    "reportId": null,
    "academyId": null,
    "createTime": "2023-02-15 14:25:35"
  }
]

如图树形结构 取出父级的direId[260]和他的子集children中的direId[271],然后列表渲染取出的direId对应的结构

阅读 1.6k
1 个回答
✓ 已被采纳新手上路,请多包涵

这样可以。用于树形结构通过Id只渲染选中的数据,
direId = ref([261,271]);
data = data.filter((item: any) => {

      if (direId.value.includes(item.direId)) {
        if (item.children) {
          item.children = item.children.filter((j: any) => {
            if (direId.value.includes(j.direId)) {
              return true; 
            }
          });
        }
        return true;
      }
    });
推荐问题