
el-tree 组件节点勾选:巧妙实现同级节点自动勾选
本文探讨在使用 el-tree 组件时,如何实现同一层级节点间的自动勾选功能,解决节点勾选的难题。
问题描述:
需求是在同一层级下,勾选一个节点会自动触发条件,从而勾选其他节点。例如:
- 勾选
2-1节点,如果左侧标识符为2,则自动勾选2-0节点;如果标识符为3,则自动勾选3-0节点。 -
2-0和3-0节点勾选后,无法取消勾选。
解决方案:
通过监听 check-change 事件,结合节点标签的特性,实现自动勾选逻辑。
-
判断勾选状态: 在
check-change事件中,判断当前节点是否被勾选,以及同级-0节点是否被勾选。 -
根据条件勾选: 如果当前勾选的节点不是
-0节点,且其对应的-0节点未被勾选,则自动勾选-0节点。 -
防止取消勾选: 如果
-0节点被取消勾选,且同级其他节点被勾选,则重新勾选-0节点。
代码实现 (Vue.js):
这段代码清晰地展示了如何通过 check-change 事件和 setChecked 方法实现自动勾选和防止取消勾选的功能。 请确保已正确安装 element-plus。 此方法利用了节点标签的规律性,如果节点标签格式不同,需要相应调整代码中的正则表达式或字符串匹配逻辑。










