如何从另一个函数更新 tabPanel 中项目的标题属性?
mainpanel 是我的 tabPanel,我根据我的 js 调试器成功更新了标题。Calling doLayout()
; 虽然似乎没有重绘 UI 中的选项卡!
var mainpanel = Ext.getCmp('mainpanel');
var item = mainpanel.items.items[0]; item.title = 'Me'; mainpanel.doLayout();
如何从另一个函数更新 tabPanel 中项目的标题属性?
mainpanel 是我的 tabPanel,我根据我的 js 调试器成功更新了标题。Calling doLayout()
; 虽然似乎没有重绘 UI 中的选项卡!
var mainpanel = Ext.getCmp('mainpanel');
var item = mainpanel.items.items[0]; item.title = 'Me'; mainpanel.doLayout();
您可以使用它从另一个函数更新标题
Panel.title1Button.setText(finToolbarTitle);
或者
如果您在停靠项目中提到工具栏
Panel.dockedItems.items[1].setTitle(toolbarTitle);
这是我编写的用于设置选项卡标题的覆盖函数。在使用它的文件之前将其包含在您的 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;
}
}
});
在 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;
}
没有setTitle()
方法吗?
let tabTitle = Ext.ComponentQuery.query('#tabs');// tabs is the itemId for tab panel created tabTitle.getAt(index_no_for_tab).tab.setTitle('My new title');