再帰ツリーコンポーネントがあり、親コンポーネントからクリックするとすべてのノードを展開したいのですが、どうすればいいですか?プランナーの詳細。Angular2再帰ツリーをすべて展開する
私はこの方法について話:
expandAll(){
console.log("expanded all");
}
再帰ツリーコンポーネントがあり、親コンポーネントからクリックするとすべてのノードを展開したいのですが、どうすればいいですか?プランナーの詳細。Angular2再帰ツリーをすべて展開する
私はこの方法について話:
expandAll(){
console.log("expanded all");
}
のようなチャイルズ上のメソッドを呼び出すことができます。私はちょうどTreeComponent
の1以上@Input()
追加:
@Input() expandAll: boolean;
をしてまで*ngIf
再帰条件を置き換え:
[hidden]="(!expanded[i] && !expandAll) || (expanded[i] && expandedAll)"
そのは、(どのようにそれが必要なすべてのdoesntの仕事を崩壊)もう少し作業が必要ですが、それは動作しますそれが私が望んでいた方法。
ただ、すべてのノードが展開され、すべてのネストされたTreeComponent
コンポーネントにexpandAll()
を呼び出しTreeComponent
にexpandAll()
メソッドを追加します。
あなたは
@ViewChildren(TreeComponent) subTrees:QueryList<TreeComponent>;
を追加することにより、すべてのネストされたTreeComponent
のコンポーネントを取得し、私はそれを把握推測しばらく
expandAll() {
for(var subTree of this.subTrees.toArray()) {
subTree.expandAll();
}
}
あなたplunkerは空ですが、それの唯一のコンポーネントは、再帰的なものではありません。 – Supamiu
ごめんなさい、今すぐチェックしてみてください。 – ulou