Angular Material 带复选框的树 - 获取选中和不确定的值
Angular Material Tree with checkboxes - get checked and indeterminated value
我从这个例子中得到了几乎 1 对 1 的树:https://stackblitz.com/angular/nnxeaxmrdob?file=src%2Fapp%2Ftree-checklist-example.ts
我需要的是获取所有选定的值和不确定的值。我知道,所有选定的值都保存在 checklistSelection 变量中,但是问题是当整个 child 节点被选中时,我有 parents 和 children 的数组,但是而只有children被选中,那我就没有parents.
所以再一次,我如何获得选定的和不确定的值?
示例中可以使用
const partial=this.treeControl.dataNodes
.filter(x=>this.descendantsPartiallySelected(x))
console.log(this.checklistSelection.selected,partial)
其中 (*)
descendantsPartiallySelected(node: TodoItemFlatNode): boolean {
const descendants = this.treeControl.getDescendants(node);
const result = descendants.some(child => this.checklistSelection.isSelected(child));
return result && !this.descendantsAllSelected(node);
}
(*)您在示例中还没有这个功能
我从这个例子中得到了几乎 1 对 1 的树:https://stackblitz.com/angular/nnxeaxmrdob?file=src%2Fapp%2Ftree-checklist-example.ts
我需要的是获取所有选定的值和不确定的值。我知道,所有选定的值都保存在 checklistSelection 变量中,但是问题是当整个 child 节点被选中时,我有 parents 和 children 的数组,但是而只有children被选中,那我就没有parents.
所以再一次,我如何获得选定的和不确定的值?
示例中可以使用
const partial=this.treeControl.dataNodes
.filter(x=>this.descendantsPartiallySelected(x))
console.log(this.checklistSelection.selected,partial)
其中 (*)
descendantsPartiallySelected(node: TodoItemFlatNode): boolean {
const descendants = this.treeControl.getDescendants(node);
const result = descendants.some(child => this.checklistSelection.isSelected(child));
return result && !this.descendantsAllSelected(node);
}
(*)您在示例中还没有这个功能