2010-10-17 71 views
2

如何更新tabPanel中某個項目的title屬性的另一個函數?如何在extjs(sencha touch)中更新tabPanel項目標題

mainpanel是我的tabPanel,我正在根據我的js調試器成功更新標題。 Calling doLayout();似乎沒有重新繪製UI中的標籤!

var mainpanel = Ext.getCmp('mainpanel');

var item = mainpanel.items.items[0]; 

    item.title = 'Me'; 
    mainpanel.doLayout(); 

回答

1

是不是有一個setTitle()方法?

+0

是的。這是答案。謝謝!!! – 2016-11-12 21:17:27

1

這是我寫的一個覆蓋函數,用來設置標籤的標題。在使用它的文件之前將它包含在你的js中。它添加了TabPanel.setTabTitle(tabNo,newTitle)方法。

實施例中的回調一個標籤內使用:

this.ownerCt.setTabTitle(0, 'My Title'); 

覆蓋代碼:

/** 
* Overrides the Ext.TabPanel to add .setTabTitle() function 
*/ 
Ext.override(Ext.TabPanel, { 
    /** 
    * Set the title of a specific tab 
    */ 
    setTabTitle: function(tabNo, newTitle) { 
     // make sure we have a number and tab exists 
     if(tabNo>=0 && !Ext.isEmpty(this.getTabEl(tabNo))) { 
      var tabEl = this.getTabEl(tabNo); // walk down dom, update title span 
      Ext.getDom(tabEl).down('.x-tab-strip-text').innerHTML = newTitle; 
     } 
    } 
}); 
1

可以使用此用於從另一功能更新所述標題

Panel.title1Button.setText(finToolbarTitle); 

如果您在停靠項

Panel.dockedItems.items[1].setTitle(toolbarTitle); 
1

在ExtJS的4.0,4.1或4.1.1,您可以更改標題,如果你有接頭元件變量中提到的工具欄:

//var tabEl = this.getActiveTab(); 
Ext.getDom(tabEl).tab.btnEl.dom.innerText = 'My New Title'; 

您也可以定義新方法標籤面板如下:

setTabTitle: function(tabEl, title) { 
    Ext.getDom(tabEl).tab.btnEl.dom.innerText = title;  
} 
0

讓tabTitle = Ext.ComponentQuery.query( '#標籤'); //選項卡是用於的itemId標籤面板創建 tabTitle.getAt(index_no_for_tab).tab.setTit le('我的新標題');

相關問題