在Angular材质分页器中设置pageIndex,第一次加载页面时不起作用



我希望Angular的分页器在页面刷新时从第二页开始,但我得到了这个错误

ERROR TypeError: Cannot set property 'pageIndex' of undefined

我试着使用延迟,但这不是一个好的解决方案,

HTML

<mat-paginator #paginator
showFirstLastButtons
[length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="pageEvent = changePage($event)">
</mat-paginator>

TypeScript

@ViewChild('paginator', { static: true }) paginator;
pageSize = 5;
pageSizeOptions: number[] = [5, 10, 50, 100];
pageEvent: PageEvent;
buttonDisablity = true;
ngOnInit(): void {
this.paginator.pageIndex = 2;
}

ngOnInit钩子没有访问viewchild实例的权限。ViewChild实例仅在afterViewInit钩子中或之后可用。

ngAfterViewInit(): void {
this.paginator.pageIndex = 2;
}

最新更新