重置分页器首页角材料

时间:2019-01-27 19:20:31

标签: angular pagination angular7 material

我正在尝试转到mat-paginator的第一页,即重置分页,但是它不起作用。知道如何解决吗?

我的html就是这样

<mat-paginator [length]="itemTotal" [pageIndex]="page" [pageSize]="itemPage" (page)="pageEvent = getPublicationFollowersData($event)">
    </mat-paginator>

打字稿:

   getPublicationFollowersData(event?: PageEvent) {
      this.getPublicationsUser(event.pageIndex);
}

然后我尝试使用以下方法初始化页面:

this.page = 1

但这不起作用。

4 个答案:

答案 0 :(得分:1)

如果使用

@ViewChild(MatPaginator, { static : true} ) paginator: MatPaginator;

应该是

@ViewChild(MatPaginator, { static : false} ) paginator: MatPaginator;

如果static:true,则未定义分页器对象。

答案 1 :(得分:0)

您需要使用@MapsId装饰器来选择分页器,然后设置分页器的ViewChild属性。

pageIndex

答案 2 :(得分:0)

<mat-paginator #paginator [length]="length"
               [pageSize]="pageSize"
               [pageSizeOptions]="pageSizeOptions"
               (page)="pageEvent = paginationClicked($event)">
</mat-paginator>
@ViewChild('paginator') paginator: MatPaginator;
this.paginator.firstPage();

答案 3 :(得分:0)

为材质角度分页器创建参照,并与数据源一起创建

dataSource: MatTableDataSource<any>;
@ViewChild(MatPaginator) paginator: MatPaginator;

您要使用以下代码重置分页器

this.dataSource.paginator = this.paginator;

您还可以通过调用分页器的首页方法来重置

this.paginator.firstPage();