Извиняюсь что невнимательно посмотрел ваш код.
Проверил, так работает:
{
hiddenName: 'popType',
xtype: 'combo',
store: Ext.create('Ext.data.Store', {
autoLoad: true,
proxy: {
url: 'php/test.php',
type: 'ajax',
reader: {
root: 'topics',
type: 'json',
totalProperty: 'count',
successProperty: 'success'
}
},
fields: [ 'abbr', 'name'],
}),
valueField: 'abbr',
displayField: 'name',
emptyText: 'Select',
selectOnFocus: true,
editable: false,
queryMode: 'local'
}
autoLoad: true лучше использовать когда у вас либо приложение небольшое, либо данных немного будет в хранилище. Если же например вы хотите загружать store при нажатии триггера, можно переопределить onTriggerClick у комбобокса, например:
onTriggerClick: function() {
if( this.getStore().getCount() == 0 ) {
this.getStore().load({
callback: function() {
this.expand();
}.bind(this)
});
} else {
( this.isExpanded ) ? this.collapse() : this.expand();
}
}