`
html
<ai-tree
v-if=“qualityList.length>0”
:data=“qualityList”
@check=“getCurrentNode”
show-checkbox
default-expand-all
node-key=“id”
ref=“qualityTree”
highlight-current
:default-checked-keys=“defaultQuiltyCheckNodes”
:props=“defaultQualityProps”
:check-strictly=“true”
>
js
qualityList:[],//质检的树状结构
defaultQualityProps:{
children: “sub”,
label: “name”,
},
defaultQuiltyCheckNodes:[],//选中的节点
//
点击check框触发的事件
getCurrentNode(currentObj, treeStatus) {
let selected = treeStatus.checkedKeys.indexOf(currentObj.id) // -1未选中
// 选中
if (selected !== -1) {
// 子节点只要被选中父节点就被选中
this.selectedParent(currentObj)
// 让子节点全部未选中
this.uniteChildSame(currentObj, true)
} else {
// 未选中 让子节点全部未选中
if (currentObj.sub && currentObj.sub.length !== 0) {
this.uniteChildSame(currentObj, false)
}
}
},
// 统一处理子节点为相同的勾选状态
uniteChildSame (currentObj, isSelected) {
if(currentObj.sub == null || currentObj.sub.length == 0 ){
return;
}
for(var item of currentObj.sub){
this.KaTeX parse error: Expected 'EOF', got '}' at position 107: …ected) }̲ }, // …refs.qualityTree.getNode(currentObj)
if (currentNode.parent.key !== undefined) {
this.$refs.qualityTree.setChecked(currentNode.parent, true)
this.selectedParent(currentNode.parent)
}
},
`