在我的应用程序中,我使用的是OnDemandGrid
由 Request + Trackable dstore 支持的 向用户显示我的数据。
服务器通过 websocket 向客户端发送通知以向网格添加新条目。要将新条目添加到网格中,商店会发出一个“添加”事件,类似于以下代码:
function _emitAddEvent(store, entity) {
store.emit('add', {
target: entity,
id: entity.id
});
}
到这里为止,一切都很好。应用程序从服务器接收要添加到网格的新条目,并添加它(不刷新网格)。问题是如果在很短的时间间隔内服务器发送的通知过多。商店将所有事件发送到 dgrid,但网格需要一些时间来呈现所有行。因为要添加的条目太多,所以应用程序没有响应。如果服务器停止向客户端发送数据,则应用程序会在一段时间后恢复并正确呈现所有行。现在是第二个(但次要的)问题。
第二个问题是,网格在渲染完所有新行之后,不会破坏太远的行。我已经设置了farOffRemoval
属性,但它似乎只处理发生滚动并且向服务器请求新数据的情况。我想知道是否有一种不依赖滚动的解决方法来破坏与用户当前位置在网格上的距离太远的节点。