【发布时间】:2020-01-06 06:52:45
【问题描述】:
我正在使用 mat-table,我正在尝试将 MatTableDataSource 与 observable 一起使用(我从 Web 服务获取数据),但我不知道如何配置 MatTableDataSource em>MatTableDataSource 使用 observable 而不是数组。
这个问题的唯一解决方案是订阅 ngOnInit 方法中的 observable 并在新数据到达时始终创建一个新的 MatTableDataSource 吗?
这是我到目前为止所拥有的,但我不知道这是否是使用带有 observable 的 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;
});
}
【问题讨论】:
-
我认为根据 Angular Material 文档,这是正确的解决方案。如果要将数据存储到 dataSource 中,则必须使用 new MatTableDataSource()
-
在这篇文章中查看我的答案stackoverflow.com/questions/54691541/… 完全可以使用 MatTableDataSource 的 observable
标签: angular angular-material observable angular8 mat-table