0

在 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

有什么想法吗?

4

1 回答 1

0

我能够通过更改商店中的缓冲区设置来解决此问题。看起来我在商店中将 'buffered' 设置为 true ,一旦我删除它,问题就消失了。

于 2012-12-09T18:11:38.943 回答