在ExtJS 4.1.3中,我们在文本字段上设置了过滤器,以运行文本字段的“onchange”。这是onchange函数:
var store = this.getStore();
value = field.getValue();
if (value.length > 0) {
// Param name is ignored here since we use custom encoding in the proxy.
// id is used by the Store to replace any previous filter
store.filter({
id: 'query',
property: 'query',
value: 'LegalName|#|#|' + value
});
} else {
store.clearFilter();
}
现在,我们遇到了一个问题,当我在文本字段中输入内容太快时,我收到错误并且卡在加载屏幕上。当我慢慢输入相同的东西时,它会起作用。考虑慢慢地输入它会使它工作,但是快速使它失败并且从服务器返回的数据在两个实例中是相同的,我假设它是ExtJS的问题。有人见过像这样的问题吗?什么是潜在的问题和修复。我无法弄清楚为什么它会破裂。这是我得到的踪迹:
Uncaught TypeError: Cannot convert null to object ext-all-debug.js:51752
Ext.define.cancelAllPrefetches ext-all-debug.js:51752
Ext.util.Event.Ext.extend.fire ext-all-debug.js:8638
Ext.define.continueFireEvent ext-all-debug.js:25117
Ext.define.fireEvent ext-all-debug.js:25095
Ext.define.clear ext-all-debug.js:44718
Base.implement.callParent ext-all-debug.js:3735
Ext.define.clear ext-all-debug.js:47485
Base.implement.callParent ext-all-debug.js:3735
PageMap.Ext.Class.clear ext-all-debug.js:52358
Ext.define.filter ext-all-debug.js:51377
Ext.define.onTextfieldChange /TEST/app/view/ContractGrid.js?_dc=1354553533935:447
Ext.util.Event.Ext.extend.fire ext-all-debug.js:8638
Ext.define.continueFireEvent ext-all-debug.js:25117
Ext.define.fireEvent ext-all-debug.js:25095
Ext.override.fireEvent ext-all-debug.js:58382
Ext.define.checkChange ext-all-debug.js:30310
call ext-all-debug.js:8426
有什么想法吗?
答案 0 :(得分:0)
我能够通过更改商店的缓冲区设置来解决问题。看起来我已经在商店中将'buffered'设置为true,一旦我将其删除,问题就消失了。