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)] тоже, потому что работает только со ссылками.

Другие вопросы по тегам