В компоненте Ext.window.Window я использую поле со списком:
Ext.define('BookApp.view.BookEdit', {
extend: 'Ext.window.Window',
alias: 'widget.bookwindowedit',
layout: 'fit',
autoShow: true,
store: 'BookStore',
modal : true,
initComponent: function() {
var me = this;
me.myStates = Ext.data.StoreManager.get('States').load();
me.items = [{
xtype: 'form',
items: [
{
xtype: 'combobox',
fieldLabel: 'Статус',
name: 'status',
store: me.myStates,
valueField: 'name',
displayField: 'name',
typeAhead: true,
queryMode: 'remote',
listeners: {
'select': function (combo, records) {
index = records.internalId;
filterCombo(combo, index);
},
'boxready': function () {
console.log("form's boxready");
index = combo.getSelection().internalId;
filterCombo(combo, index);
}
}
},
]
}];
me.buttons = [{
text:'Save',
iconCls:'save-icon',
action: 'save'
},
{
text: 'Clear',
scope: this,
action: 'clear'
}
];
me.callParent(arguments);
}
});
function filterCombo(combobox, index) {
store = combobox.getStore();
store.clearFilter();
store.filterBy(
function(record) {
if ((record.data.order_install == index - 1) || (record.data.order_install == index + 1)) {
return true;
} else {
return false;
}
}
);
};
Когда в обработчиках события render делается попытка получить запись индекса, возникает ошибка:
Ошибка типа: combo.getSelection (...) имеет значение nul
Почему может возникнуть ошибка и как правильно получить записи индекса?При добавлении события boxready для получения записей это событие не работает.