我如何从另一个函数更新tabPanel中的项目的title属性?
mainpanel是我的tabPanel,我根据我的js调试器成功更新了标题。 Calling doLayout()
;似乎没有重绘UI中的选项卡!
var mainpanel = Ext.getCmp('mainpanel');
var item = mainpanel.items.items[0]; item.title = 'Me'; mainpanel.doLayout();
答案 0 :(得分:1)
是否有setTitle()
方法?
答案 1 :(得分: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;
}
}
});
答案 2 :(得分:1)
您可以使用它来更新其他功能的标题
Panel.title1Button.setText(finToolbarTitle);
或
如果您在停靠项目中提到了工具栏
Panel.dockedItems.items[1].setTitle(toolbarTitle);
答案 3 :(得分:1)
在extjs 4.0,4.1或4.1.1中,如果您有tab元素变量,则可以更改标题:
//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;
}
答案 4 :(得分:0)
让tabTitle = Ext.ComponentQuery.query('#tabs'); // tabs是创建标签面板的itemId tabTitle.getAt(index_no_for_tab).tab.setTitle('我的新标题');