我有一点时间让ExtJS 6.2与无限滚动一起工作。我已多次浏览他们的文档和示例,但我无法使用它。我想知道我是否误解了BufferedStore是如何工作的,以及它与BufferRenderer插件有什么不同。
有人可以解释两者之间的差异,以及使用他们的Ext.grid.Panel类进行无限滚动以使用oData Rest API。
答案 0 :(得分:1)
您只需要使用BufferedStore
。 BufferedRenderer
会自动实例化并应用于所有网格。
答案 1 :(得分:0)
BufferedStore控制数据存储加载数据的方式。它不是抓取整个数据集,而是根据需要在“页面”中加载数据,例如。何时请求数据。 BufferedRenderer在网格视图侧工作,它基本上呈现网格行的子集 - 而不是渲染存储中连接到网格的所有内容。
在ExtJS的旧时代:) - 网格将从商店加载所有内容,因此可能有数千行。这些当然不可见当然你只会在滚动时看到它们,但是它们在dom中因此需要时间。
如果你在网格中有很多数据,你通常会同时使用这两种数据,但我遇到的情况是我想要商店中的所有内容,而不是网格中的内容 - 例如,如果我需要在商店中对数据进行排序或操作在渲染之前。