PrimeReact - 数据表和延迟加载问题

问题描述

我在使用 DataTable 和延迟加载时遇到问题。

当我激活延迟加载参数(我无法删除,因为来自 api 的请求太大)时,激活延迟加载时过滤和排序不起作用。我明白为什么它会这样工作,但我真的不知道如何解决它。

如果您有任何解决方案,我会接受,因为我真的被困在这里:)

链接代码和框 -> https://codesandbox.io/s/datatable-t92wk

我对 Primereact 中的基本示例进行了一些修改,例如添加延迟加载、删除分页并用虚拟滚动替换它。我还对过滤进行了修改,但我认为我所做的并不完全正确,但在这种情况下是有效的:它停止了延迟变量,因此我可以使用延迟加载。

我想做的是对表中已加载的数据进行排序:)

谢谢

解决方法

有同样的问题。显然,您不能在延迟加载模式 (link) 中使用过滤。很有道理。

对于排序,您可以传递一个 onSort 函数,并且每次发生排序事件(即:用户单击列标题)时,您都可以发回数据库请求。

const onSort = (e) => {
 // use e.sortField and e.sortOrder to send a DB request,}

<DataTable onSort={onSort} ... // rest of the stuff />