可以单独选择父节点,选子节点时默认选中父节点,无半选状态。 效果: 代码: <template><el-treeref="tree":data="treeData"show-checkboxdefault-expand-allnode-key="id":props="defaultProps"check-strictly="false"@check="handleClick"></el-tree></template>exportdefault{data(){return{treeData:[{id:1,...
而el-tree设计是只有子级全选中时父级才选中,子级未全选时父级为半选(此时其实为未选中),当子级全不选时父级为不选中。 3.解决方案: 好了,直奔主题!首先在菜单权限树形选择时,半选状态的父级的ID是需要加入list中的,那么此时将halfCheckedKeys加入list即可: // 节点选中状态变化 changeNowNode(data, obj) ...
let selected = treeStatus.checkedKeys.indexOf(currentObj.id) // -1未选中 this.isClickSelected = selected // 选中 if (selected !== -1) { // 子节点只要被选中父节点就被选中 this.selectedChildren(currentObj) // 统一处理子节点为相同的勾选状态 this.uniteChildSame(currentObj, true) } else ...
产生原因:当我们在全部选中某一项权限时 权限的父级id也会被加入到我们已选择的权限中 当我们把含有父级id的权限数组传给后端,再请求权限列表时,el-tree检测到里面包含的父级权限的id,就会默认勾选上该父级权限及他下面的所有子权限。 解决办法: 办法1:取消父子级联动效果 使用 check-strictly 属性, <el-tree...
使用el-tree组件,渲染树状数据。 要求默认全部展开、不显示复选框、支持单选、以及点击父级节点时不折叠子节点。 当然,还有个小细节就是,点击当前节点要高亮显示。 用过el-tree组件的朋友,肯定清楚,el-tree默认只支持多选。而且,除了支持单选,其它需求都可以使用现成的配置属性来实现。
仅限子叶节点显示勾选(隐藏父节点的勾选按钮) .el-tree-node{ .is-leaf + .el-checkbox .el-checkbox__inner{ display: inline-block; } .el-checkbox .el-checkbox__inner{ display: none; } } 代码: <el-dialog title="选择分类":visible.sync="dialogVisible"width="50%"> ...
有个节点带 checkbox 的el-tree父子节点需要半关联,即: 1.勾选父节点,子节点不会被勾选; 2.但是勾选子节点,父节点会被勾选。 解决 第一步:实现父子节点不相互关联 子组件: 父组件: 第二步:实现勾选子节点,父节点会被勾选 关键问题是如何勾选某个节点。
<el-tree ref="systemTree" show-checkbox :data="systemTree" node-key="id" :props="defaultProps" :default-checked-keys="hasRights" :default-expanded-keys="expandRights" /> 当给一个父元素设置默认选中了除了一项之外的所有项(比如有三项,默认设置选中两项),它会直接选中所有,我查了issues是很久前的...
el-tree组件 1. 选中父节点,只勾选当前节点 2. 选中子节点,勾选上面所有的父节点,除了根节点 3. 取消勾选子节点,如果有同级子节点是勾选状态,父节点不取消勾选;反之取消 效果展示: 修改el-tree组件的父子关系,选中节点后向上选中所有父级 代码实现: ...