Угловое дерево материалов с флажками - получить проверенное и неопределенное значение
У меня есть почти 1 к 1 дереву из этого примера: https://stackblitz.com/angular/nnxeaxmrdob?file=src%2Fapp%2Ftree-checklist-example.ts
Что мне нужно, так это получить все выбранные значения и те, которые не определены. Я знаю, что все выбранные значения содержатся в переменной checklistSelection, однако проблема заключается в том, что выбран весь дочерний узел, и у меня есть массив родителей и детей, но пока выбраны только некоторые дочерние элементы, у меня нет родители.
Итак, еще раз, как мне получить значения, которые выбраны И неопределенные?
1 ответ
Решение
В этом примере вы можете использовать
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);
}
(*) У вас еще есть эта функция в примере