Angular geEvent):PageEvent{ this.lowValue=event.pageIndex*event.pageSize; this.highValue=this.lowValue+event.pageSize; 返回事件; } }

Angular geEvent):PageEvent{ this.lowValue=event.pageIndex*event.pageSize; this.highValue=this.lowValue+event.pageSize; 返回事件; } },angular,pagination,angular-material,Angular,Pagination,Angular Material,这里要处理的棘手部分是页面事件。 我们可以遵循角度材质文档,直到定义页面事件函数 拜访 供参考 在这方面,我会加上几个小时的辛勤工作。 在相关的HTML文件中,应该如下所示 reloadData() { this.customers = this.customerService.setPageSize(this.Page ,this.Size); this.customerService.getSize().subscribe(res => { this.re

这里要处理的棘手部分是页面事件。 我们可以遵循角度材质文档,直到定义页面事件函数

拜访 供参考

在这方面,我会加上几个小时的辛勤工作。 在相关的HTML文件中,应该如下所示

reloadData() {

    this.customers = this.customerService.setPageSize(this.Page ,this.Size);
    this.customerService.getSize().subscribe(res => {
      this.recordCount = Number(res);
     
      console.log(this.recordCount);
    });
  }
我们需要以下函数从后端调用数据

setPageSize(page: number, size: number): Observable<any> {
    return this.http.get(`${this.baseUrl}?pageSize=${size}&pageNo=${page}`);
  }
在上述实现之前,我们的服务文件应该包含以下服务调用

setPageSize(页面:编号,大小:编号):可观察{
返回this.http.get(`this.baseUrl}?pageSize=${size}&pageNo=${page}`);
}

然后全部设置为go并在我们的应用程序中启用分页。请随时提出相关问题,谢谢。

检查此项,这可能会有所帮助。对于分页,你也可以使用这个库,我觉得它更简单[Link](从“ngx分页”导入{NgxPaginationModule})。我使用过它。你确定你发布了正确的plunker链接吗?对不起,但仍然不是正确的plunker,我想,它会打开检查此链接,但没有保存它。我很感兴趣现在是否有更好的解决方案,对于直接处理某些事件,如
单击下一页
?(页面)事件不会为我触发。是否可以通过滚动而不是单击页面?请打开,谢谢。但在分页之后,
matcheckbox
无法设置为选中状态,即使我是通过编程方式设置的。知道吗?模板代码中指定的pageEvent属性在任何地方都没有使用。它有用途吗?不建议使用格式不好的只包含链接的答案。如果您只需要客户端分页,这是一个不错的答案。帮助了我。谢谢@asridh这个例子并没有完全回答原来的问题。最初的问题包括pageSizeOptions,本例忽略了这一点。对于未来的读者,我通过包括:this.highValue=this.highValue+event.pageSize-this.pageSize;this.pageSize=event.pageSize;仍然给原始帖子一个升级投票,因为它超级快速/简单,并且无论您是否使用MatTable(许多其他答案都假设使用MatTable)都可以工作。您需要将您的pageEvent声明为属性(pageEvent:pageEvent;),否则它将仅在开发模式(ng serve)下运行,而不在生产模式下运行(ng build configuration=production)。生产限制更大,编译器会抱怨您缺少组件上的pageEvent属性。谢谢您的款待!!Angular 9使用此导入---->从'@Angular/material/paginator'导入{PageEvent};这是最简单的例子,值得一提。很有魅力,非常感谢!
  import {MatPaginatorModule} from '@angular/material/paginator';

   @NgModule({
      imports: [MatPaginatorModule]
    })
<pre>
<mat-paginator
    [pageSizeOptions]="pageSizeOptions"
    [pageSize]="Size"
    (page)="pageEvent = pageNavigations($event)"
    [length]="recordCount">
</mat-paginator>
</pre>
@Input('data') customers: Observable<Customer[]>;
pageEvent: PageEvent;
Page: number=0;
Size: number=2;
recordCount: number;
pageSizeOptions: number[] = [2,3,4,5];
pageNavigations(event? : PageEvent){
    console.log(event);
    this.Page = event.pageIndex;
    this.Size = event.pageSize;
    this.reloadData();
  }
reloadData() {

    this.customers = this.customerService.setPageSize(this.Page ,this.Size);
    this.customerService.getSize().subscribe(res => {
      this.recordCount = Number(res);
     
      console.log(this.recordCount);
    });
  }
setPageSize(page: number, size: number): Observable<any> {
    return this.http.get(`${this.baseUrl}?pageSize=${size}&pageNo=${page}`);
  }