我有遞歸樹組件,我想展開父組件上點擊的所有節點,我該怎麼做?更多細節在plunker。Angular2遞歸樹全部展開
我談論這個方法:
expandAll(){
console.log("expanded all");
}
我有遞歸樹組件,我想展開父組件上點擊的所有節點,我該怎麼做?更多細節在plunker。Angular2遞歸樹全部展開
我談論這個方法:
expandAll(){
console.log("expanded all");
}
一段時間,我想我弄明白之後。我只是增加了一個@Input()
在TreeComponent
:
@Input() expandAll: boolean;
和更換*ngIf
遞歸的條件:
[hidden]="(!expanded[i] && !expandAll) || (expanded[i] && expandedAll)"
它需要多一點的工作(崩潰是如何都應該不工作),但它的工作原理那我想怎麼樣。
只需添加一個expandAll()
方法是展開所有節點,並呼籲所有嵌套TreeComponent
組件expandAll()
的TreeComponent
。
您可以通過添加
@ViewChildren(TreeComponent) subTrees:QueryList<TreeComponent>;
得到所有嵌套TreeComponent
成分,並呼籲孩子的方法類似
expandAll() {
for(var subTree of this.subTrees.toArray()) {
subTree.expandAll();
}
}
你plunker是空的,在它的唯一部件是不是遞歸的。 – Supamiu
我很抱歉,現在試着檢查它。 – ulou