需求:当勾选一个非叶子节点的时候,其祖先节点和后代节点都要选上,当取消勾选一个非叶子节点的时候,其后代节点一并取消勾选,类似设置了check-strictly为false的表现形式,区别是当一个非叶子节点的直接后代节点都取消勾选后该节点继续保持勾选状态

下面直接展示代码:
<el-tabs type="border-card">
<el-tab-pane label="菜单权限">
<el-tree :data="menuGrantList"
show-checkbox
node-key="id"
ref="treeMenu"
check-strictly
:default-checked-keys="menuTreeObj"
:props="props"
@check="menuGrantListCheck">
</el-tree>
</el-tab-pane>
<el-tab-pane label="数据权限">
<el-tree :data="dataScopeGrantList"
show-checkbox
node-key="id"
ref="treeDataScope"
check-strictly

本文介绍了在 Vue.js 应用中,使用 el-tree 组件实现一个特殊的需求:当选择非叶子节点时,其所有祖先和后代节点被选中;取消非叶子节点勾选时,只有直接后代节点取消选择,而该节点保持选中状态。提供了相关代码示例,邀请读者共同讨论优化方案。
最低0.47元/天 解锁文章
3008

被折叠的 条评论
为什么被折叠?



