2013-01-10 69 views
0

我無法更改標籤面板中的標籤欄標題。sencha觸摸如何更改標籤欄中的標題

編輯:我正在開發一個測試應用程序,由一個主標籤面板和其他三個視圖組成,類似於sencha-touch文檔的「入門視頻」。

現在,出於本地化的目的,我需要改變標籤欄圖標下的標籤,代表面板的三個鏈接。

在下面的代碼中,我試圖通過改變相關視圖的標題來改變第一個按鈕的標籤,因爲標籤顯示「Home」,即視圖的標題。 我想在視圖的「激活」事件上做到這一點。 此代碼的結果是,如果我記錄主視圖的標題,它會更改,但標籤欄按鈕標籤保持不變。

我認爲我錯過了「刷新」按鈕,但我在文檔上找不到任何關於此主題的內容。 我希望這個編輯更好地解釋我的問題。

下面是代碼:

Ext.define('lvzMobile.view.Main', { 
extend: 'Ext.tab.Panel', 
requires: ['Ext.TitleBar'], 
xtype: 'main', 

config: { 
    tabBarPosition: "bottom", 

    items: [ 
     { 
      xtype: 'homePanel', 
      id: 'home', 
     }, 
     { 
      xtype: 'catalogue', 
      id: 'catalogue' 
     }, 
     { 
      xtype: 'infoPanel', 
      id: 'info' 
     } 
    ], 

    listeners: { 
     activate: function() { 
      console.log("activate"); 
      this.getAt(0).setTitle("emoh"); 
      //the title changes but nothing happens in the tabbar... 
     } 
    } 
} 
}); 

請,你能幫幫我嗎?我不明白什麼是錯的。

+0

你希望在tabbar中發生什麼......? –

+0

我期望圖標「Home」下的標籤顯示文字「emoh」,請參考此圖片:http://i46.tinypic.com/2i7pn7.jpg –

回答

3

這行:

this.getAt(0).setTitle('emoh') 

...將更改標題您panel,但不是按鈕本身。要更改按鈕文字,請使用:

this.getTabBar().getAt(0).setTitle('emoh') 

Here's a fiddle with your code來演示。

在那裏,這裏有一個提示:使用alias: 'widget.main'而不是xtype: 'main'xtype用於配置,alias用於定義別名,後者隨後可用於xtype(使用前綴widget.作爲小部件,store.用作存儲等)。

+0

感謝您的解釋Attila,這正是我需要的! –