需求:树形菜单点击之后需要形成面包屑,所以需要当前节点和其父级节点的数据。记录一下解决方法,如下。
<el-tree
style="height:calc(100vh - 180px)"
ref="tree"
icon-class="el-icon-caret-right"
:data="dataTree"
:props="{label:'groupName',children:'groups'}"
node-key="key"
@node-click="TreeCk"
> <!-- :expand-on-click-node="false" -->
</el-tree>
TreeCk(e){ // 树节点点击
let tree:any = this.$refs.tree;
this.treeKey = ''; // 初始化
this.breadList = []; // 初始化
if (!e.groups){this.getTreeNode(tree.getNode(e.key));
this.treeKey = e.key;
this.treeGroupType = e.groupType;
this.getData();}
}
getTreeNode(node){ // 获取当前树节点和其父级节点
if (node) {if (node.label !== undefined) {this.breadList.unshift(node.label); // 在数组头部添加元素
this.getTreeNode(node.parent); // 递归
}
}
}
this.breadList。可以得到当前节点和其父级的 lable 数组集合。