我知道有扩展和折叠所有节点的可用方法,但我只想扩展第一级节点(根节点)。那怎么可能?
答案 0 :(得分:0)
如果将ngAfterViewInit添加到组件,则可以在treeControl上使用toggle方法来扩展由toggle需要的参数指定的节点,但是根据您的设置,您可能需要做一些额外的工作才能获得想要的节点扩大。这是我仅扩展第一个节点所做的工作:
ngAfterViewInit() {
const subject = this.dataSource._flattenedData
subject.subscribe((data) => {
this.treeControl.toggle(data[0])
})
}
如果要扩展特定的节点,可以对订阅返回的数据进行挖掘,但是只需确保在订阅收到消息或有一些条件可以捕获之前,不要尝试获取它们。这也是我扩展第一个节点下的所有节点的操作:
ngAfterViewInit() {
const subject = this.dataSource._flattenedData
subject.subscribe((data) => {
this.treeControl.toggle(data[0])
if(data[1]){
let i = 1
while (data[i].level != 0) {
this.treeControl.toggle(data[i++])
}
}
})
}