如何在角度材料表中为单个表使用2分页?

imj*_*bal 6 angular-material angular angular-material-table

我正在使用角度材料在 angular6 中创建一个应用程序。如何在单个表中使用 2 个分页。 在此处输入图片说明 我想在页眉和页脚两个地方显示分页。

标题分页仅显示带有下拉菜单的“每页项目数”。页脚分页将显示箭头和所有内容。

当我添加 2 个分页时,第二个分页不起作用。

请参考截图 在此处输入图片说明

谢谢。

Sam*_*ipp 9

我认为目前没有官方解决方案,您必须自己同步两个分页器。

根据需要配置第一个分页器并将所有输入参数添加到第二个:

<mat-paginator #paginator [pageSizeOptions]="[5, 10, 20]" showFirstLastButtons></mat-paginator>

<table mat-table [dataSource]="dataSource"> <!-- ... --> </table>

<mat-paginator (page)="syncPrimaryPaginator($event)" 
  [pageSize]="paginator.pageSize" [pageIndex]="paginator.pageIndex"
  [length]="paginator.length" [pageSizeOptions]="paginator.pageSizeOptions"></mat-paginator>
Run Code Online (Sandbox Code Playgroud)

在您的组件中添加一个方法来同步第一个分页器,如果使用第二个:

dataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);

@ViewChild(MatPaginator) paginator: MatPaginator;

ngOnInit() {
  this.dataSource.paginator = this.paginator;
}

syncPrimaryPaginator(event: PageEvent) {
  this.paginator.pageIndex = event.pageIndex;
  this.paginator.pageSize = event.pageSize;
  this.paginator.page.emit(event);
}
Run Code Online (Sandbox Code Playgroud)

我分叉了这个官方示例并更新了它以重现您的问题。是我的解决方案。