Фильтрация компонентов дерева Angular6 не работает

#angular #search #filter #angular6 #angular-tree-component

#angular #Поиск #Фильтр #angular6 #angular-tree-component

Вопрос:

https://angular2-tree.readme.io/docs

Дерево было построено с помощью узла дерева angular.

Используется пользовательский шаблон. Вы можете использовать фильтрацию, если она не является пользовательским шаблоном, но она не фильтруется при использовании фильтра.

введите описание изображения здесь

В руководстве есть функции фильтрации, и мое дерево не фильтруется.

 <input class="form-control f-12" id="filter2" #filter2 (keyup)="tree.treeModel.filterNodes(filter2.value)" placeholder="filter nodes"/>

<tree-root #tree [nodes]="nodes" [focused]="true">
                <ng-template #treeNodeTemplate let-node="node" let-index="index">
                  <input class="pt-1" (change)="clickCheckbox(node, $event)" type="checkbox" [indeterminate]="node.data.indeterminate" [checked]="node.data.checked">
                  <span class="pl-1" (click)="treeMembers(node.data)">{{node.data.name}}</span>
                </ng-template>
              </tree-root>
 

Поиск узлов в ng-шаблоне невозможен.
Добавьте узлы, как показано ниже.

 public nodes: any = [];
public chart;

constructor(
private _http: HttpClient
) {
this.addNodeData();
}

addNodeData(){
this._http.get("url").subscribe(res => {
      this.chart = res;
      let node = this.addNdoeGroup(this.chart[0]);
      this.nodes.push(node);
    });
}

addNdoeGroup(Chart: any) {
let node = { id: Chart.TeamID, name: Chart.TeamName, children: [], member: []};

for (let child in Chart.Children) {
  let nChild = this.addNdoeGroup(Chart.Children[child]);
  node.children.push(nChild);
}

for (let member in Chart.Members) {
  let nMembers = this.addNodeMember(Chart, Chart.Members[member]);
  node.children.push(nMembers);
}
return node;
}

addNodeMember(Chart, member) {
let node = { id: Chart.TeamID, name: member.UserName, children: [], member: []};
return node;
}
 

Комментарии:

1. Вы нашли ответ на это?