3

如何从另一个函数更新 tabPanel 中项目的标题属性?

mainpanel 是我的 tabPanel,我根据我的 js 调试器成功更新了标题。Calling doLayout(); 虽然似乎没有重绘 UI 中的选项卡!

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

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

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

5 回答 5

1

您可以使用它从另一个函数更新标题

Panel.title1Button.setText(finToolbarTitle);

或者

如果您在停靠项目中提到工具栏

Panel.dockedItems.items[1].setTitle(toolbarTitle);
于 2012-02-27T11:25:11.720 回答
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;
        }
     }
 });
于 2011-04-30T22:57:14.680 回答
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;    
}
于 2012-09-14T05:27:33.860 回答
1

没有setTitle()方法吗?

于 2010-10-17T19:19:34.540 回答
0

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');

于 2017-09-25T06:37:25.357 回答