材质树控件未显示来自http服务的异步数据

时间:2019-03-31 13:55:02

标签: angular angular-material treeview angular6 angular-material2

我在Angular 6上遇到材质树控件的问题。当我使用静态数据并使用RxJS'from'运算符将其返回为可观察值时,它可以正常工作。但是,我有一个Web API返回使用http客户端get调用的相似模型数据并返回JSON。但是,在这种情况下,它不会呈现树控件。可能是因为自从我使用较早的静态数据后,它便会快速返回,而对于异步数据,UI会在实际返回数据之前进行绑定。

ngOnInit:void{
 this.nestedTreeControl = new NestedTreeControl<any>(this._getChildren);
    this.nestedDataSource = new MatTreeNestedDataSource();
    this.dataChange.subscribe(data => this.nestedDataSource.data = data);
    this.dataChange.next(this.treeData);
    this.dataService.getFolders().subscribe(data => {
      this.treeData.push(data);
    })
}

我要去哪里错了,谁能指出问题所在?

1 个答案:

答案 0 :(得分:0)

更新treeData后我没有发布。

this.dataService.getFolders().subscribe(data => {
      this.treeData.push(data);
      this.dataChange.next(this.treeData);
})