1、当你通过函数设置勾选节点的时候,只要父节点被勾选子节点必会勾选上,即便设置勾选的list中无此子节点。 2、当你点击勾选复选框时候,若点击父节点,其下子节点全部统一跟随父节点变化;若点击子节点,子节点部分勾选时父节点处于半选状态,子节点全部勾选时父节点选中,子节点全部不勾选时父节点未选中。 3、...
而el-tree设计是只有子级全选中时父级才选中,子级未全选时父级为半选(此时其实为未选中),当子级全不选时父级为不选中。 3.解决方案: 好了,直奔主题!首先在菜单权限树形选择时,半选状态的父级的ID是需要加入list中的,那么此时将halfCheckedKeys加入list即可: // 节点选中状态变化 changeNowNode(data, obj) ...
这个函数获取半选中的key也就是子节点未全选时的父节点id. 解决方法: 用getCheckedKeys()去获取所有选中节点的id,用getHalfCheckedKeys()去获取子节点未全选时的父节点id,然后将他们进行拼接,再传给后端接口,这样就不会完美解决了子节点未全选,父节点id获取不到的问题了。 //提交权限分配 submitAuth() { if (...
产生原因:当我们在全部选中某一项权限时 权限的父级id也会被加入到我们已选择的权限中 当我们把含有父级id的权限数组传给后端,再请求权限列表时,el-tree检测到里面包含的父级权限的id,就会默认勾选上该父级权限及他下面的所有子权限。 解决办法: 办法1:取消父子级联动效果 使用 check-strictly 属性, ...
有个节点带 checkbox 的el-tree父子节点需要半关联,即: 1.勾选父节点,子节点不会被勾选; 2.但是勾选子节点,父节点会被勾选。 解决 第一步:实现父子节点不相互关联 子组件: 父组件: 第二步:实现勾选子节点,父节点会被勾选 关键问题是如何勾选某个节点。
el-tree组件在获取选择的节点时,默认的逻辑是,选中父节点时所有的子节点会被选中(checked),但是当该节点下不是选中所有子节点的时候,主节点不会被选中,而是处于一种半选中状态,提交时通过getCheckedKeys()方法也不会提交父节点,因为半选中状态下checked属性是false的。
在element-ui的el-tree树形控件中默认获取选取当前选中id的方法是this.$refs.tree.getCheckedKeys(); 但是如果子节点不是全部选中的话,父节点算不选中。 由于我们一般想要的是就算只选中一个直接点父节点以及其父辈都算选中,所以需要自己写逻辑。 <!DOCTYPE html> ...
placeholder="请选择角色" > <el-option v-for="item in Roleoptions" :key="item.RoleId" :label="item.RoleName" :value="item.RoleId" ></el-option> </el-select> </el-form-item> </el-form> <el-tree :data="data" ref="rootTree" ...
el-tree选择子节点默认选中父节点,选中父节点不选中子节点,后台菜单管理功能,需要勾选用户关联的菜单,拿到所有菜单id。可以单独选择父节点,选子节点时默认选中父节点,无半选状态。