我正在使用 mat-table,并尝试使用 MatTableDataSource 与可观察对象一起使用(从 Web 服务获取数据),但我不知道如何配置 MatTableDataSource 以使用可观察对象而不是数组。
解决此问题的唯一方法是在 ngOnInit 方法中订阅可观察对象,并始终在新数据到达时创建新的 MatTableDataSource 吗?
目前我的做法是这样的,但我不知道这是否是使用 MatTableDataSource 与可观察对象一起工作的正确解决方案。
dataSource: MatTableDataSource<Thing>;
@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
@ViewChild(MatSort, { static: true }) sort: MatSort;
ngOnInit() {
getThings().subscribe(things => {
this.dataSource = new MatTableDataSource(things);
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
});
}