这是小提琴 https://fiddle.sencha.com/?fiddle=1ahm#fiddle/1ahm
具有几乎相同代码的经典主题可以正常工作。
这是小提琴 https://fiddle.sencha.com/?fiddle=1ahm#fiddle/1ahm
具有几乎相同代码的经典主题可以正常工作。
这是一个煎茶bug,您应该及时在官方论坛报告。
store.getRange()
可以在没有 start 和 end 参数的情况下调用。( "起始索引。默认为零。"/"结束索引。默认为最后一条记录。包括结束索引。" )bufferedStore.getRange()
没有明确告诉我们它可以在没有参数的情况下调用,但我们可以安全地假设它应该隐含,因为它覆盖了父类的函数定义。至少现代网格是这样认为的。bufferedStore.getRange()
rangeCached
然后用start
and调用私有函数end
(两者都未定义)rangeCached
显然希望这两个是数字,或者为什么他们甚至应该使用严格的相等运算符 at start === 0 ? 0 : start - 1
?如果只是这个故障,您可以通过覆盖来修复它,例如:
Ext.define('MyBufferedStoreOverride',{
override:'Ext.data.BufferedStore',
getRange:function(start, end, options) {
if(!Ext.isNumber(start)) start = 0;
if(!Ext.isNumber(end)) end = this.getCount();
me.callOverridden([start, end, options]);
}
})
但我认为 Sencha 从未使用BufferedStore
.
尝试将高度设置为网格并让您的网格从“Ext.grid.GridPanel”而不是“Ext.grid.Grid”扩展。
在ExtJS 6.6.0的文档中bufferedStore
说,对于现代工具包,您必须使用Ext.data.virtual.Store
.