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 に答える