如何使用Sencha Touch 1将项添加到面板中的TabPanel?

时间:2012-01-15 14:38:24

标签: pointers sencha-touch viewport tabpanel

我有以下代码,它为我的应用生成基本布局:

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);
    },
});

这不起作用,可能是因为Viewport面板内的TabPanel不能像这样指向。我搜索了sencha文档,但我找不到如何添加

  

new lists.views.ItemLists()

到tabpanel,而tabpanel又位于

  

lists.views.Viewport

此外,我想在我的视口之前(甚至在它之后)声明我想要添加到我稍后可能添加的特定其他面板的其他内容。实现这一目标的最佳方法是什么?

关于如何做到这一点的任何想法? 谢谢!

1 个答案:

答案 0 :(得分:0)

如果您从this.方法中取消tabpanel initComponent,那么它应该有效,因为tabpanel变量是全局变量。

或者,您可以通过items属性访问Viewport的项目,例如

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

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

希望这有帮助

斯图尔特