考虑到这是您的主要分页器:
<mat-paginator [length]="totalRecords" [pageSize]="10" [pageSizeOptions]="[10, 25, 50]"></mat-paginator>
您可以添加第二个分页器,其属性绑定到第一个分页器(这将确保当第一个分页器更改时,更改将反映到第二个分页器)并连接到它的 (page) 事件以确保更改将反映在第一个分页器上(也反映到数据源上):
<mat-paginator (page)="syncMainPaginator($event)" [pageSize]="paginator.pageSize" [pageIndex]="paginator.pageIndex"
[length]="paginator.length" [pageSizeOptions]="paginator.pageSizeOptions"></mat-paginator>
在您的 .ts 文件中,您需要抓取第一个分页器(如果有更多分页器,则通过 id 抓取组件):
@ViewChild(MatPaginator)
paginator: MatPaginator;
并定义同步两个分页器的功能:
syncMainPaginator(event: PageEvent) {
this.paginator.pageIndex = event.pageIndex;
this.paginator.pageSize = event.pageSize;
this.paginator.page.emit(event);
}
确保主(第一个)分页器附加到 MatTableDataSource。
注意:我使用的是自定义 DataSource 类,因此这可能需要一些调整,但应该让您正确了解如何实现这一点。