列转树--聪明一点的方法

该博客展示了如何在Vue组件中利用Linq库处理树形数据。代码创建了一个名为`Tree`的组件,通过Linq从`treeData`导入的数据中筛选出树的第一级、第二级节点,并构建了相应的子节点结构。内容涉及到递归处理和数据过滤,适用于前端数据组织和展示场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
  <div class="tree">
    <pre>{{ filterTreeFirst }}</pre>
  </div>
</template>

<script>
import treeData from "../../testData";
import enumerable from "linq";

export default {
  name: "Tree",
  data() {
    return {
      filterTreeFirst: [],
      filterTreeSecond: []
    }
  },
  created() {
    this.filterTreeFirst = enumerable.from(treeData).where(item => item.Pid == undefined
        || item.Pid == '' || item.Pid == null).select(para => ({
      Id: para.Id,
      Name: para.Name,
      children: enumerable.from(treeData).where(iii => iii.Pid == para.Id).select(mmm => ({
        Id: mmm.Id,
        Pid: mmm.Pid,
        Name: mmm.Name,
        children: enumerable.from(treeData).where(third=>third.Pid==mmm.Id).select(thirdItem=>({
          Id:thirdItem.Id,
          Pid:thirdItem.Pid,
          Name:thirdItem.Name
        })).toArray()
      })).toArray()
    })).toArray()


  }
}
</script>

<style scoped>

</style>


Id: "LogType"
Value: "Operate"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值