Ошибка при назначении Ext.grid.Панель для Ext.tab.Panel

#javascript #extjs #extjs4

#javascript #extjs #extjs4

Вопрос:

у меня есть панель вкладок, которая пока работает нормально, но как только я применяю панель сетки в качестве одной из вкладок, я получаю js-ошибку где-то в Observerable.js (класс из ext), в котором говорится, что ‘item.on(…)’ не является функцией после ‘элемент не определен’

Вот соответствующие строки кода:

Это то, что я делаю на своей панели вкладок:

 initComponent: function() {
        this.items = [{
            xtype: 'profileList',
            title: 'Profiles'
        }];

    this.callParent(arguments);
}
  

и вот как код моей панели grid:

 Ext.define('BC.view.profile.ProfileList', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.profileList',

    cls: 'profileList',

    border: false,

    initComponent: function(){

        Ext.apply(this, {
            store: 'Profiles',

            columns: [{
                text: 'Name',
                dataIndex: 'name',
                flex: 1,
            }, {
                text: 'Others',
                dataIndex: 'otherUsers',
                width: 200
            }, {
                text: 'Limit',
                dataIndex: 'limit',
                width: 200
            }]
        });
        console.log('before');
        this.callParent(arguments);
        console.log('after');
    }

});
  

Спасибо за любую помощь!

Редактировать: первая консоль.журнал работает, ошибка, похоже, происходит в ‘callParent()’

Ответ №1:

Вы не можете создавать элементы панели вкладок подобным образом:

  this.items = [{
        xtype: 'profileList',
        title: 'Profiles'
    }];
  

Вы должны использовать Ext.apply(… вместо:

 Ext.apply(this,{items:[{
        xtype: 'profileList',
        title: 'Profiles'
    }]);