有两种方法,大家可以优先试试第一种:
方法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方法中。