Внутренняя панель сенсорной панели Sencha не отображается - PullRequest
1 голос
/ 15 октября 2011

У меня есть панель внутри панели как элемент, наряду с другими закрепленными элементами. По некоторым причинам это не обнаруживается. Вот что нужно добавить на главную панель:

    MarketMakerApp.views.businessInfo = new Ext.Panel({
        id: 'businessInfo',
        layout: 'fit',
        html: '<br /><br /><br /><div>{ id } </div>' + '<div>{ title }</div>'
        //html: 'This is the business info view'
    });

     MarketMakerApp.views.businessTabbar = new Ext.TabBar({
        dock: 'bottom',
        ui: 'dark',
        items: [
            {
                text: '1',
                iconCls: 'info',
                hander: function() {
                    MarketMakerApp.views.viewport.setActiveItem('businessInfo', {type: 'slide', direction: 'left' });
                }
            },
            {
                text: '2',
                iconCls: 'star',
                hander: function() {
                    this.add( MarketMakerApp.views.businessInfo);
                    this.setActiveItem(2);
                }
            },
            {
                text: '3',
                iconCls: 'map',
                hander: function() {
                }
            }
        ]
    });

А главная панель такова:

    MarketMakerApp.views.businessContainer = new Ext.Panel({
        id: 'businessContainer',
        layout: 'fit',
        dockedItems: [
            MarketMakerApp.views.businessTypeListToolbar,
            MarketMakerApp.views.businessTabbar
        ],
        items: [ MarketMakerApp.views.businessInfo]
    });

Панель вкладок и панель инструментов отображаются нормально, но я не вижу панель businessInfo. Любые предложения будут оценены.

p.s. Я слишком долго боролся с Tabpanel, чтобы сдаться, и теперь просто использую tabbar.

1 Ответ

0 голосов
/ 31 октября 2011

У меня не было никакого успеха в создании панелей (или как вы считаете) программным способом.Вот некоторый код, который работает с этим подходом.

Добавьте функцию initComponent в ваш businessContainer, как показано ниже, вместо установки элементов на панели businessContainer:

initComponent: function(){
    Ext.apply(this, {
        items: [
            MarketMakerApp.views.businessInfo
        ]
    });
    MarketMakerApp.views.businessContainer.superclass.initComponent.apply(this, arguments);
}
...