您正在使用Primeng dataTable从后端呈现数据库查询结果,是否会在显示列和行后触发任何事件?
更长的问题是,在查询后端时会阻止屏幕,一旦请求返回就会解锁屏幕,但似乎屏幕已解锁(请求返回)和屏幕上显示结果数据之间有一点延迟(填充行和列),我们谈论的是100~500ms的延迟。所以我想在请求返回时取消阻止屏幕,但要等到数据被看到。
首选答案不要更改Primeng数据表,除非它是唯一选项。接受其他建议。
答案 0 :(得分:1)
您可以尝试使用BlockUI。 它可以基于布尔参数阻止数据表。 样品:
<p-blockUI [target]="dt" [blocked]="blockedPanel">
<i class="fa fa-refresh fa-spin fa-3x" style="position:absolute;top:25%;left:50%"></i>
</p-blockUI>
你的数据表:
<p-dataTable #dt [value]="myList"></p-dataTable>
在你的ts文件中,你可以在这里设置/取消设置名为“blockedPanel”的布尔标志。 Reference
如果数据集很小且延迟不明显,这将起作用。
另一种选择是尝试
onValueChange()
会触发数据集更改的方法。