2 回答
TA贡献1865条经验 获得超7个赞
您需要将分页器与Angular的路由器连接。
例如,假设您按如下所示构造了路径路径:
http://my/url/to/table/component?page=2
在这种情况下,您可以从URL到表中获取页面索引2,如下所示:
组件类别:
class MyComponent {
pageIndex = this.activatedRoute.queryParams.pipe(
map(params => params['page'])
);
constructor(activatedRoute: ActivatedRoute) {}
}
模板:
<mat-paginator [pageIndex]="pageIndex | async"></mat-paginator>
到目前为止,URL将驱动该表。现在,当用户使用分页器浏览表格时,您还需要更新URL:
模板:
<mat-paginator [pageIndex]="pageIndex | async" (page)="pageChange($event)"></mat-paginator>
组件类别:
class MyComponent {
pageIndex = this.activatedRoute.queryParams.pipe(
map(params => params['page'])
)
constructor(activatedRoute: ActivatedRoute, router: Router) {}
pageChange(e: PageEvent): void {
this.router.navigate( /* ... */ );
}
}
现在,随着用户在表中浏览时URL正在更新,这使路由器可以在用户返回到以前访问的URL时驱动表。
添加回答
举报