Как обновить заголовок элемента tabPanel в extjs (sencha touch) - PullRequest
3 голосов
/ 17 октября 2010

Как мне обновить свойство title для элемента в tabPanel из другой функции?

mainpanel - это моя tabPanel, и я успешно обновляю заголовок в соответствии с моим отладчиком js.Calling doLayout();похоже, не перерисовывается вкладка в пользовательском интерфейсе!

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

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

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

Ответы [ 5 ]

1 голос
/ 14 сентября 2012

В 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;    
}
1 голос
/ 01 мая 2011

Вот функция переопределения, которую я написал, чтобы установить заголовок вкладки. Включите это в свой 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 голос
/ 27 февраля 2012

Вы можете использовать это для обновления заголовка из другой функции

Panel.title1Button.setText(finToolbarTitle);

или

Если вы упомянули панель инструментов в закрепленных элементах

Panel.dockedItems.items[1].setTitle(toolbarTitle);
1 голос
/ 17 октября 2010

Разве нет setTitle() метода?

0 голосов
/ 25 сентября 2017

let tabTitle = Ext.ComponentQuery.query ('# tabs'); // tabs - это itemId для созданной панели вкладок tabTitle.getAt (index_no_for_tab) .tab.setTitle ('My new title');

...