Как установить конкретное значение индекса магазина в extJS comboBox - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть поле со списком.

Мое требование: всякий раз, когда я набираю какой-либо ключ из комбо, значение этого «ключа» отфильтровывается из хранилища и устанавливается как комбо-значение.

Пример: у меня есть эти значения в выпадающем списке.

'ABC', «Сокр», 'Крикет', 'Footbal'

После нажатия на комбо, если я наберу a, будет установлено значение «ABC» в первый раз, и значение «ABBR» второго типа будет установлено.

Вот код моего комбо.

// The data store containing the list of states
var states = Ext.create('Ext.data.Store', {
    fields: ['abbr', 'name'],
    data : [
        {"abbr":"AL", "name":"Alabama"},
        {"abbr":"AK", "name":"Alaska"},
        {"abbr":"AZ", "name":"Arizona"}
    ]
});

// Create the combo box, attached to the states data store
Ext.create('Ext.form.ComboBox', {
    fieldLabel: 'Choose State',
    store: states,
    queryMode: 'local',
    displayField: 'name',
    valueField: 'abbr',
    editable : true,
    renderTo: Ext.getBody()
});

Теперь в этом случае, когда я набираю любую клавишу, я получу значение, отфильтрованное из списка. Но я хочу не только фильтровать, я также хочу установить значение.

Вот что я пытаюсь.

listerners:{
    keypress : function(me,e,eopts){
        var store = me.getStore();
        var key = e.event.key;
        var data = store.data.items;
        var results = [];
        for(var i=0; i<data.length; i++){
            if(data[i].index(key) == 0){
                results.push(data[i]);
            }
        }
    }
}

Теперь здесь все значения, начиная с этого ключа, сохраняются в результате. Но я не знаю, как установить это значение из результата в комбинированное хранилище.

Любая помощь будет с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...