el-tree父节点折叠子节点也跟随折叠
使用节点被关闭时触发的事件 @node-collapse=“handleNodeCollapse”,递归折叠子节点
/**
* 节点折叠
* @param node
*/
const handleNodeCollapse = (data, node) => {
collapseAllChildren(node)
}
// 折叠树
const collapseAllChildren = (node) => {
if (node.isLeaf) return // 如果是叶子节点,直接返回
const tree = elTreeRef.value
// 遍历当前节点的所有子节点
for (let child of node.childNodes) {
if (!child.expanded) continue // 如果子节点已经是折叠状态,跳过
// 折叠子节点
if (Object.keys(tree.store.nodesMap).length) {
tree.store.nodesMap[child.key].expanded = false
// 递归折叠子节点的子节点
collapseAllChildren(child)
}
}
}