zoukankan      html  css  js  c++  java
  • 【vue+elementUI】根据数据默认展开图层树指定节点,default-expanded-keys

    需求:根据传入数据默认展开图层树,数据中isLoad为true表示当前节点需要展开。(数据不定)

    参考elementUI组件el-tree的default-expanded-keys使用,将要展开的节点标识(树的id)绑定到该属性。

    elementUI组件案例

    重点:实际传入数据是以Id字段作为树的标识,同时数据为多层嵌套的图层,需要逐层筛选。

          <el-tree
            id="lay-tree"
            :props="defaultProps"//配置选项,用来关联实际字段
            :data="treedata"//图层树数据
            node-key="Id"//绑定数据中的实际标识字段
            :default-expanded-keys="expandedKeys"//默认展开节点
            ref="layerTree"
          ></el-tree>
    

    data参数:

      data() {
        return {
          treedata: [],
          expandedKeys: [],
          defaultProps: {
            children: "children",
            label: "text",
            id: "Id",
            IlayerTrans: "sort"
          },
        };
      }
    

    props的配置项说明

    接下来就是在根据图层树数据treeData获取到指定展开节点expandedKeys数组:

      watch: {
        treedata: {
          handler() {
           this.getExpandedKeys(this.treedata);
          },
          deep: true
        }
      },
      methods: {
        getExpandedKeys(arr) {
          arr.forEach(item => {
            if (item.Isload) {
              this.expandedKeys.push(item.Id);
            }
            if (item.children) {
              this.getExpandedKeys(item.children);
            }
          });
        }
      }
    

    最后为传入的图层树数据结构:

    图层树数据

  • 相关阅读:
    android自定义Dialog
    go笔记-内存回收分析、内存统计信息字段释义
    go笔记-defer以及性能
    go笔记-goroutine和panic
    并发编程-高性能IO-reactor模式
    go笔记-查看coredump:delve调试工具
    IO多路复用[转]
    kubernates 1.20.6安装
    JavaScript 数组元素的一些操作
    如何理解 Java 多线程
  • 原文地址:https://www.cnblogs.com/qiuyueding/p/13727067.html
Copyright © 2011-2022 走看看