我不想要无限滚动分页。相反,我只想在页脚中单击页码时调用分页。我正在使用服务器端分页。因此,在每次滚动时触发“页面”事件会导致我的分页 API 触发太多我的服务器无法处理的请求。
基本上如何使用服务器端分页禁用无限滚动?
我不想要无限滚动分页。相反,我只想在页脚中单击页码时调用分页。我正在使用服务器端分页。因此,在每次滚动时触发“页面”事件会导致我的分页 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)
}
[virtualization]="false" 解决了我的问题