el-table中树形组件如何自动全部展开

有两种方法,大家可以优先试试第一种:
方法1:

 toggleRowExpansion(isExpansion) {
    
    
      this.toggleRowExpansion_forAll(this.tableData, isExpansion );
   
    },

    toggleRowExpansion_forAll(data, isExpansion) {
    
    
      data.forEach((item) => {
    
    
        this.$refs.dataTreeList.toggleRowExpansion(item, isExpansion);
        if (item.children != undefined && item.children != null) {
    
    
          this.toggleRowExpansion_forAll(item.children, isExpansion);
        }
      });
    },

1.其中tableData是表格数据;
2.dataTreeList是el-table组件3;
3.isExpansion为true时则展开,为false则收起。

方法2:
原理:相当于执行了树形表格单元格前面的展开icon的点击事件:

let len = document.getElementsByClassName("el-table__expand-icon").length;
 for (let index = 0; index < len; index++) {
    
    
        if (document.getElementsByClassName("el-table__expand-icon")[index]) {
    
    
          document
            .getElementsByClassName("el-table__expand-icon")
            [index].click();
        }
      }

注:若不生效可以放在this.$nextTick方法中。

猜你喜欢

转载自blog.csdn.net/qq_42931285/article/details/130449262