Здравствуйте, уважаемые форумчане!
Вопрос заключается в следующем:
В Ext.window.Window я использую combobox:
Ext.define('BookApp.view.BookEdit', {
extend: 'Ext.window.Window',
alias: 'widget.bookwindowedit',
title: 'BookEdit',
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: 'Status',
name: 'status',
store: me.myStates,
valueField: 'id',
displayField: 'name',
typeAhead: true,
queryMode: 'remote',
listeners: {
'select': function (combo, records) {
index = records.internalId;
filterCombo(combo, index);
},
'render': function (combo) {
index = combo.getSelection().internalId;
//console.log(index)
filterCombo(combo, index);
}
}
},
....
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:
index = combo.getSelection().internalId;
получаю ошибку:
TypeError: combo.getSelection (...) is null
В combo у меня точно есть объект моего комбобокса.
Почему возникает ошибка и как тогда правильно получить индекс записи?
Заранее спасибо.