半选状态是 el-tree 组件的一个内置功能,用于表示父节点的一部分子节点被选中。这种状态通常不需要手动设置,而是由组件根据子节点的选中状态自动计算得出的。 2. 在 el-tree 组件中查找关于半选状态的属性或方法 el-tree 组件没有直接的属性或方法来设置节点的半选状态。相反,它是通过节点的 checked 属性和父子...
不过为了还要显示出半选状态,所以要依赖属性indeterminate。当indeterminate的值为true,即半选状态。 用于全选的处理函数 /** * 全选 el-tree 节点 */pickAll(){this.pickStatus=0// 先设置为空状态(为的就是 indeterminate 这个属性为false,才能为选中状态)// 先判断是不是第一次点击,因为第一次点击,无论处...
父级是不会选中的(此时为半选),因此,此时在传给后端的list中是没有父级的,由于后端的需要,此时是需要将半选的父级也传给后端,注意,在获取初始菜单树状态的list中,半选状态的父级也返回回来了,此时如果直接渲染的话,由于el-tree的设计原理,如果有父级那么就选中所有子级,此时,未全选中的子级就会被全选,这...
// 该数组是选中的节点(半选的节点和全选的节点全都存储在这个数组) multipleSelection: [], // 该数组回显数据根据所对应的ID 进行默认勾选 (:default-checked-keys 这个) 和 (node-key="id") 这个两个并存 resourceCheckedKey: [],// el-tree :props 调用 defaultProps: { children: "children", label...
1 console.log("保存树权限数组:"," 勾选项的数组 ",this.$refs.tree.getCheckedKeys(),' 带半勾选项的数组 ',this.$refs.tree.getHalfCheckedNodes().concat(this.$refs.tree.getCheckedNodes())) 回显设置: 1 2 3 for(var i in this.treecheck){ this.$refs.tree.setChecked(this.treecheck[i...
这个来获取选中节点的,但是他是无法获取到半选中状态的节点的,这个时候,Element提供了另一个方法 this.$refs.tree.getHalfCheckedNodes() 1. 这个方法是用来获取所有半选中状态的节点的。 如此,我们在获取节点的时候可以将两个方法合在一起写,如下 let t = this.$refs.tree.getCheckedNodes().concat(this.$ref...
4.如果部分子节点被选中,则将父节点设置为半选中状态。 5.如果没有子节点被选中,则将父节点设置为未选中状态。 6.如果父节点的选中状态发生改变,将会触发父节点的选中状态改变事件,并递归更新其父节点的选中状态。 通过上述步骤,实现了复选框根据子节点修改父节点的底层原理。这样可以确保父子节点之间的选中状态保...
el-tree 组件在获取选择的节点时,默认的逻辑是,选中父节点时所有的子节点会被选中( checked ),但是当该节点下不是选中所有子节点的时候,主节点不会被选中,而是处于一种半选中状态,提交时通过 getCheckedKeys() 方法也不会提交父节点,因为半选中状态下 checked 属性是 false 的。解决...
// 选中全部子节点,父节点也默认选中,但是子节点再次取消勾选或者全部子节点取消勾选也不会影响父节点勾选状态 let checkNode = treeRef.value!.getNode(data)//获取当前节点 // 勾选部分子节点,父节点变为半选状态 if (checkNode.parent && checkNode.parent.childNodes.some(ele => ele.checked)) { ...
// 通过 key / data 设置某个节点的勾选状态 // key/data, checked, deepsetChecked(key, checked, deep) {this.$refs.tree.setChecked(key, checked, deep); }, 父组件: @custom-check-change="customCheckChange" // 自定义树节点的 check-change 事件customCheckChange(argus) {const{ data, checked...