gpt4 book ai didi

angular - 如何使用可观察的MatTableDataSource?

转载 作者:行者123 更新时间:2023-12-03 14:34:36 25 4
gpt4 key购买 nike

我正在使用mat-table,并且试图将MatTableDataSource与可观察对象结合使用(我从Web服务获取数据),但是我不知道如何配置MatTableDataSource使用可观察对象而不是数组。

解决此问题的唯一方法是订阅ngOnInit方法中的observable并始终在新数据到达时创建一个新的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;
});
}

最佳答案

您应该能够在类(class)级别一次更新MatTableDataSource,然后在data中使用ngOnInit setter。

dataSource = new MatTableDataSource<Thing>();
@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
@ViewChild(MatSort, { static: true }) sort: MatSort;

ngOnInit() {
getThings().subscribe(things => {
this.dataSource.data = things;
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
});
}

关于angular - 如何使用可观察的MatTableDataSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57770423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com