如何刷新Sencha Touch 2中的选项卡面板项目

时间:2013-01-17 16:35:14

标签: refresh sencha-touch-2 tabpanel

我正在使用一个带有4个标签的标签面板(Ext.tab.Panel),当用户从单选按钮组中进行选择时,在其中一个子屏幕上,我希望标签面板自行刷新(即加载新文本,新图标)。如何强制选项卡面板(应用程序的核心导航元素)进行刷新?

我已尝试在视图上设置show:function(){}方法,如下所示:

Ext.define('MyApp.view.Main', { 
    extend: 'Ext.tab.Panel',
...
    show: function() {
        this.callParent();
        ... reload stuff
    }
});

1 个答案:

答案 0 :(得分:0)

Ext.tab.Panel中的标签/图标构成了组件的items属性。要更改这些选项卡/图标,您必须更改项目。

使用setItems(items)有效更改听众内Ext.tab.Panel的标签/图标。

var tabpanel = Ext.getCmp('tabpanelid'); // Get appropriate panel using its id

// Removes the current tabs, and inserts the following 2 tabs
tabpanel.setItems([
    {
        title: 'Tab1',
        iconCls: 'info',
        html: 'Foo'
    },
    {
        title: 'Tab2',
        iconCls: 'reply',
        html: 'Bar'
    }
);

Check out a working example here.

更新:要修改其中一个当前项,请使用getItems(),修改相应的项目,然后致电setItems(items)

Updated Example