У меня есть выпадающий список ExtJs. Его хранилище загружается с использованием JSON (используя класс MyStore ниже). Я хочу загрузить все значения в хранилище, а затем отфильтровать их по тексту, введенному в текстовое поле комбо (желательно с помощью функции typeAhead).
Проблема в том, что я хочу выполнить фильтрацию на стороне клиента (по умолчанию свойство режима комбо имеет значение 'remote'). Я не хочу, чтобы мой комбо перезагружал свой магазин каждый раз, когда я что-то печатаю.
Как я могу это сделать?
Спасибо.
Вот мой класс магазина:
MyStore = Ext.extend(Ext.data.JsonStore, {
constructor: function(jsonUrl, storeId, id, description, isAutoLoad, cfg) {
cfg = cfg || {};
GenericStore.superclass.constructor.call(this, Ext.apply({
storeId: storeId,
root: 'result',
url: jsonUrl,
autoLoad: isAutoLoad,
fields: [
{
name: id
},
{
name: description
}
]
}, cfg));
}
});
И комбо:
xtype: 'combo',
fieldLabel: 'The Combo',
width: 150,
store: myStoreData,
valueField: 'id',
displayField: 'name',
minChars : 0,
editable : false,
itemId : 'my-combo'