PrimeNG Дерево расширено
Я пытаюсь установить выбранные элементы в дереве PrimeNG.
HTML
<p-tree id="selectedProducts" *ngIf="selectedCustomer != null"
[value]="tree" selectionMode="checkbox"
[(selection)]="selectedProducts"
(click)="fileterProducts()"></p-tree>
TS
selectedProducts: TreeNode[] = [];
filteredProducts: number[] = [];
tree: TreeNode[] = [];
selectCustomer(customerId: number){
this.selectedCustomer = this.selectedCustomers.find(r => r.Name == this.userForm.value.Customers[0]);
console.log("Customer Products ");
console.log(this.selectedCustomer.selectedProducts);
this.selectedProducts = this.selectedCustomer.selectedProducts;
for ( let product of this.selectedProducts ) {
product.expanded = true;
this.expandChildren(product);
console.log('Product : ');
console.log(product);
}
и я сделал все узлы расширенными, но они не отображаются выделенными.
1 ответ
Вы хотите, чтобы все узлы были расширены и выбраны, включая все дочерние элементы на любую глубину?
Тогда вам нужно позвонить expandChildren
рекурсивно и добавить детей в [(selection)]
тоже, потому что работает только со ссылками.