Как добавить элемент в TabPanel на панели с помощью Sencha Touch 1? - PullRequest
0 голосов
/ 15 января 2012

У меня есть следующий код, который генерирует базовый макет для моего приложения:

tabpanel = new Ext.TabPanel({
    fullscreen: false,
    ui        : 'dark',
    sortable  : false,
    tabBarDock: 'bottom',
    cardSwitchAnimation: 'flip',
    items: [{
            title: 'Tab 1',
            html : '1',
            cls  : 'card1',
            icon : 'tab1'
    }]
});

lists.views.Viewport = Ext.extend(Ext.Panel,{
    fullscreen: true,
    layout: 'fit',
    dockedItems: [{
        xtype: 'toolbar',
        dock: "top",
        title: 'title'
    }],
    items: [tabpanel],
    initComponent: function() {
        this.tabpanel.add(new lists.views.ItemLists());
        lists.views.Viewport.superclass.initComponent.apply(this, arguments);
    },
});

Это не работает, возможно, из-за того, что на TabPanel, расположенную внутри панели просмотра, нельзя указывать вот так. Я искал документацию по sencha, но не могу найти, как добавить

новые lists.views.ItemLists ()

к табуляции, которая в свою очередь находится внутри

lists.views.Viewport

Кроме того, будут другие вещи, которые я хочу объявить перед моим окном просмотра (или даже после него), которые я хочу добавить к определенным другим панелям, которые я мог бы добавить позже. Каков наилучший способ добиться этого?

Есть идеи, как это сделать? Спасибо!

1 Ответ

0 голосов
/ 16 января 2012

Если вы берете this. из ссылки на tabpanel в методе initComponent области просмотра, тогда он должен работать, потому что переменная tabpanel является глобальной.

В качестве альтернативы, вы можете получить доступ кПросмотр предметов через свойство items, например,

initComponent: function(){
    this.items.get(0).add(new lists.views.ItemLists());

    lists.views.Viewport.superclass.initComponent.apply(this, arguments);
}

Надеюсь, это поможет

Stuart

...