Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 展开“角度材质树”中的根节点_Angular_Angular Material_Angular Material2_Angular Material 5 - Fatal编程技术网

Angular 展开“角度材质树”中的根节点

Angular 展开“角度材质树”中的根节点,angular,angular-material,angular-material2,angular-material-5,Angular,Angular Material,Angular Material2,Angular Material 5,我知道有可用的方法来扩展和合并所有节点,但我只想扩展第一级节点(根节点)。这是怎么可能的?如果您将ngAfterViewInit添加到组件中,您可以使用treeControl上的toggle方法来扩展由toggle使用的参数指定的节点,但根据您的设置,您可能需要做一些额外的工作来获得要扩展的节点。以下是我仅扩展第一个节点所做的操作: ngAfterViewInit() { const subject = this.dataSource._flattenedData subject.subscri

我知道有可用的方法来扩展和合并所有节点,但我只想扩展第一级节点(根节点)。这是怎么可能的?

如果您将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++])
    }
  }      
})
}