如何禁用'page'在ngx-datatable中的Scroll上调用输出事件?

时间:2017-06-13 13:33:35

标签: angular ngx-datatable

我不想要无限滚动分页。相反,我只想在页脚单击页面编号时调用分页。我正在使用服务器端分页。因此,在每个滚动条上触发“页面”事件会导致我的分页api触发太多请求,而我的服务器无法处理这些请求。

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

2 个答案:

答案 0 :(得分:2)

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

模板

<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)
}

答案 1 :(得分:0)

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