1

我不想要无限滚动分页。相反,我只想在页脚中单击页码时调用分页。我正在使用服务器端分页。因此,在每次滚动时触发“页面”事件会导致我的分页 API 触发太多我的服务器无法处理的请求。

基本上如何使用服务器端分页禁用无限滚动?

4

2 回答 2

2

我能够通过处理 ngx-datatable 中的(滚动)输出来解决这个问题。这个想法是在调用滚动事件时使用一个标志来抑制分页,然后在超时后再次启用它。像这样的东西。

模板

<ngx-datatable (page)="doPaging($event)" (scroll)="handleScroll()">...</ngx-datatable>

在你的组件中

scrollTimeout: any;
suppressPaging: boolean = false;
doPagining() {
  if (!this.suppressPagining) {
    //do paging
  }
}

handleScroll() {
   this.suppressPagining = true;

   if (this.scrollTimeout) {
        celarTimeout(this.scrollTimeout);
   }

  this.scrollTimeout = setTimeout(() => {
     this.suppressPagining = false;
  }, 100)
}
于 2017-07-29T19:05:53.633 回答
0

[virtualization]="false" 解决了我的问题

于 2021-01-20T09:31:17.937 回答