Показать сообщение отдельно
  #1 (permalink)  
Старый 19.10.2018, 00:17
Аспирант
Отправить личное сообщение для Ambassador Посмотреть профиль Найти все сообщения от Ambassador
 
Регистрация: 12.11.2015
Сообщений: 68

Ошибка при получении индекса записи combobox
Здравствуйте, уважаемые форумчане!
Вопрос заключается в следующем:
В 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 у меня точно есть объект моего комбобокса.
Почему возникает ошибка и как тогда правильно получить индекс записи?
Заранее спасибо.
Ответить с цитированием