2010-10-17 58 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('我的新标题');

相关问题