我最好使用最新版本的 Ext JS,但是在查看 Ext JS 5.0 和 Ext JS 4.0.1 的缓冲网格示例时,我发现加载速度有明显差异。快速滚动数据时,4.0.1 版本非常流畅,但 5.0 需要一些时间来加载。这个加载时间会导致每次滚动后出现白屏。在我看来,这不是很漂亮。
示例 5.0:链接
示例 4.0.1:链接
任何线索是什么导致了这种情况,以及是否可以预防。
由于某种原因,您正在查看的示例http://dev.sencha.com/extjs/5.0.0/examples/grid/buffer-grid.js没有使用缓冲存储。
您可以将示例中的存储替换为缓冲存储(请参阅此小提琴):
var store = Ext.create('Ext.data.BufferedStore', {
groupField: 'department',
model: 'Employee',
autoLoad: true,
proxy: {
type: 'memory',
data: function() {
var data = [];
createFakeData(5000, data);
return data;
}()
}
});
然后你会看到渲染确实很快。不幸的是,在这个例子中配置的网格在边缘也被破坏了......无法判断这是因为一些错误配置还是在 Ext5 中对无限网格的支持还不是一流的(这可以解释为什么他们一开始并没有完成这个例子)。