angular - 如何禁用 ngx-datatable 中的滚动调用 'page' 输出事件?

标签 angular ngx-datatable

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

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

最佳答案

我能够通过处理 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)
}

关于angular - 如何禁用 ngx-datatable 中的滚动调用 'page' 输出事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523109/

相关文章:

angular - 应用程序如何管理前端错误跟踪?

angular - 使用 Angular2 RC6 获取 queryParams 的正确方法

javascript - 隐藏 ngx-datatable Ionic 中的列

angular - ngx-datatable 如何以 Angular -6 在数据表中显示嵌套的 json 数据

javascript - 从下拉列表中选择一个项目将所有下拉列表设置为相同

javascript - 如何使用ngx-datatable&angular使用分页ID显示分页结果?

angular - 如果 Resolve 失败 Angular 2 重定向

angular - 在 MatPaginator 不工作的情况下,在 Mat Table 中异步排序 Mat Sort,在模板中异步分配数据源

angular - 在 Angular 2、RxJS 中重用代码——订阅者体内的重复代码