美文网首页
树 el-tree 使用中的一些技巧

树 el-tree 使用中的一些技巧

作者: gem_Y | 来源:发表于2020-04-10 09:46 被阅读0次

1. 递归拿到第一个节点

  "data": [
    {
      "id": "1245527502739726337",
      "parentId": "0",
      "parentIds": "0",
      "isPacket": "1",
      "name": "R1model测试包",
      "createdName": "系统管理员",
      "child": [
        {
          "id": "1245527694415224833",
          "parentId": "1245527502739726337",
          "parentIds": "0,1245527502739726337",
          "isPacket": "1",
          "name": "R11model测试包",
          "createdName": "系统管理员",
          "child": [
            {
              "id": "1245528103963844610",
              "parentId": "1245527694415224833",
              "parentIds": "",
              "isPacket": "0",
              "name": "R11model1模型",
              "createdName": "系统管理员",
              "child": []
            }
          ]
        }
      ]
    },
    {
      "id": "1247362154915897346",
      "parentId": "0",
      "parentIds": "0",
      "isPacket": "1",
      "name": "test",
      "createdName": "测试部",
      "child": []
    },
    {
      "id": "1244559160533954562",
      "parentId": "0",
      "parentIds": "0",
      "isPacket": "1",
      "name": "基础包",
      "createdName": "系统管理员",
      "child": [
        {
          "id": "1244562072827965442",
          "parentId": "1244559218620870658",
          "parentIds": "",
          "isPacket": "0",
          "name": "同义词字段",
          "createdName": "系统管理员",
          "child": []
        },
      ]
    },
  ]
    // 递归拿到第一个元数据
    $getFristMetadatalId(arr) {
      const tempArr = JSON.parse(JSON.stringify(arr)).reverse()
      for (const item of tempArr) {
        if (item.child.length > 0) {
          this.$getFristMetadatalId(item.child)
        } else if (item.isPacket === '0') {
          this.currentNodekey = item.id
          return
        }
      }
    },

2.

      treeProps: {
        label: 'name',
        children: 'child',
        isLeaf: this.$isLeafFn
      },

  methods: {
// 指定节点是否为叶子节点
    $isLeafFn(data) {
      return data.isPacket === '0'
    },
    // 添加/删除 节点等 后重新加载树
    $refreshNode(higherLevelId) {
      if (higherLevelId === '0' || !higherLevelId) {
        // console.log('reloadTree')
        this.$loadNode(this.firstNode, this.firstReslove)
      } else {
        const node = this.$refs.tree.getNode(higherLevelId);
        node.loaded = false;
        node.expand();
      }
    },
}

相关文章

网友评论

      本文标题:树 el-tree 使用中的一些技巧

      本文链接:https://www.haomeiwen.com/subject/deitmhtx.html