【发布时间】:2021-01-02 09:46:30
【问题描述】:
我正在使用带有相当大数据集的primeng 表。 我没有使用延迟加载——一开始有一个大的 get 会返回数百行。要求是在页面加载时将所有行放在前面。
我已经实现了一系列手动过滤器来操作该数据集。这些过滤器读取并操作在页面加载时首先填充的行列表。这些过滤器绝不会再次从服务器读取。 当我点击一个过滤器时,会有一两秒的延迟,数据表的基础行会更新,UI 也会更新。 似乎当这种情况发生时,它不是异步的——我这么说是因为发生这种情况时不能点击其他任何东西。应用程序在此期间实际上挂起,这不是很好的用户体验。
我认为解决此问题的一种方法是以某种方式订阅事件并在发生这种情况时显示加载程序。 数据表上有输出会在某些操作发生时触发事件(onSort、onNodeExpand 等),但这些输出会在操作发生时立即运行并且不提供可观察的。 我看过与 changeDetectorRef 相关的文档,这可能是我所追求的,但我并不完全理解。
有谁知道我是否可以在加载时获取该事件?
非常感谢
【问题讨论】:
标签: javascript angular typescript rxjs primeng