1.勾选子节点勾选其对应的父节点
- const nodeClick = (a: any, b: boolean) => {
- if (b === false) {
- // 如果当前节点有子集
- if (a.children) {
- // 循环子集将他们的选中取消
- a.children.forEach((item: any) => {
- treeRef.value?.setChecked(item.id, false, false)
- })
- }
- } else if (b) {
- // 否则(为选中状态)
- // 判断父节点id是否为空
- if (a.parent_id !== 0) {
- // 如果不为空则将其选中
- treeRef.value?.setChecked(a.parent_id, true, false)
- }
- }
- if (treeRef.value?.getCheckedKeys(false).length === allLength) {
- checkAll.value = true
- } else {
- checkAll.value = false
- }
- // 勾选复选框的时候给该项展开
- treeRef.value.store.nodesMap[a.id].expanded = true
- }