问题
How to reset the paginator and go to the first page? this.page = 1
does not work correctly. Just in case, I'll explain that I do not use MatPaginator
.
ts:
pageSizeOptions = [5, 10, 25, 50, 100];
pageSize = 5;
page = 1;
applyFilter() {
let searchFilter: any = {
filterValue: this.search
};
this.categories.filter = searchFilter;
if (this.page !== 1) {
this.page = 1;
} else {
this.load();
}
}
onPaginateChange(event) {
this.page = event.pageIndex + 1;
this.pageSize = event.pageSize;
this.load();
}
html:
<mat-paginator [pageSizeOptions]="pageSizeOptions" [length]="totalItems" [pageSize]="pageSize"
(page)="onPaginateChange($event)" showFirstLastButtons [disabled]="!isActive">
</mat-paginator>
回答1:
You need to set pageIndex
of paginator, but you will have to use ViewChild
decorator to select that paginator, so in your component:
@ViewChild(MatPaginator, {static:false}) paginator: MatPaginator;
...
and in your method:
this.paginator.pageIndex = 0;
回答2:
I am using primeng. Please see below syntax to reset:
import { Paginator } from 'primeng/primeng';
@ViewChild('paginator') paginator: Paginator;
this.paginator.changePage(0);
来源:https://stackoverflow.com/questions/58004169/how-to-reset-the-paginator