3

ExtJs コンボボックスがあります。そのストアは JSON を使用してロードされました (私のストアを使用)。すべての値をストアにロードし、コンボのテキスト フィールドに入力されたテキストでフィルター処理したいと考えています。

何かを入力するたびにコンボがそのストアをリロードしたくありません。どうやってやるの?そして、最初にサーバーからデータをリロードするときに、コンボボックスから要素を選択しようとします。PS:サーバーからデータの最初の要素を選択するための私の店のリスナー。ありがとう。

これが私の店のクラスです:

Ext.define('KP.store.account.street', {
    extend: 'Ext.data.Store',
    model: 'KP.model.account.combo',
    autoLoad: true,

    proxy: {
        type: 'ajax',

        api: {

            read: '/account/combostreetdata'
        },
        reader: {
            type: 'json',
            root: 'combolist',
            successProperty: 'success',
            totalProperty: 'total'
        }
    },

    listeners: {
        'load': function (street_list) {
            var street_combo = Ext.getCmp('street');
            street_combo.select(street_list.getAt(0));
        }
    }
});

私の見解:

{
    id: 'street',
    xtype: 'combobox',
    width: 700,
    name: 'street',
    editable: true, 
    mode: 'local', 
    typeAhead: true, 
    emptyText: '?????',
    fieldLabel: '???',
    labelWidth: 120,
    size: 72,
    x: 20,
    y: 180,

    displayField: 'string_value',
    valueField: 'long_key',
    store: street_list
},
4

1 に答える 1

0

ComboBox 構成エラーがあります。

ではありませんmode: 'local',queryMode: 'local',

私はコンボでそのようなフィールドを使用します:

queryMode: 'local',
forceSelection: true,

Typeahead は正常に動作し、Typeahead 中にデータはロードされません。

于 2012-09-21T10:19:44.927 に答える