描述:el-tree 子菜单未选中的情况,也能获取父节点Id,回显时后台也将父节点的Id传回来,但是子节点全部选中,主要解决这两个问题。
1、获取父id
① getHalfCheckedKeys 使用这个方法用来获取父节点半选择状态ID值
this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHalfCheckedKeys())
2、回显时获取父节点,子节点不能全选
<el-tree
@check-change="handleChangeClick"
:check-strictly="nodeFlag"
:data="ruleFormData"
show-checkbox
:props="defaultProps"
node-key="id"
ref="tree">
//----nodeFlag默认值为false
/// 在获取到数据的时候做以下操作
this.nodeFlag= true //重点:给数节点赋值之前 先设置为true
this.$nextTick(() => {
this.$refs.tree.setCheckedKeys(newVal) //给树节点赋值
this.nodeFlag= false //重点: 赋值完成后 设置为false
})
==================================
//check-strictly:在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false