2015-07-02 2 views
0

Как уже упоминалось в этом сообщении, я пытаюсь переключить значок в моем таблоконтейнере.Переключить значок в tabcontainer

У меня есть TabContainer с некоторыми ContentPanes.

Если я получаю некоторые значения из базы данных, я показываю их в ContentPane и устанавливаю IconClass, чтобы пользователь увидел, что есть некоторые данные.

В моей ContentPane я также получил кнопку удаления и сохранения.

Если были данные и нажата кнопка удаления, я хотел бы удалить или скрыть значок в закладке.

Конечно, я тоже хочу сделать другой путь.

Но как это сделать?

Я попробовал его с registry.byId ("myIdOfTheContentPaneWhereTheIconClasswasDefined"). = Имя класса "dijitNoIcon"

без эффекта.

Любые идеи?

ответ

0

Попробуйте установить iconClass вместо className.

проверка концепции:

require([ 
    'dijit/layout/TabContainer', 
    'dijit/layout/ContentPane' 
], function(TabContainer, ContentPane){ 
    var container = new TabContainer({ id: 'container' }).placeAt(document.body); 
    var pane = new ContentPane({ 
     iconClass: 'dijitIconSave', 
     title: 'Tab' 
    }).placeAt(container); 
    container.startup(); 

    setTimeout(function() { 
     pane.set('iconClass', ''); 
    }, 2000); 
}); 
0

registry.byId возвращает вам виджет, а не DOMNode.

Это должно работать: registry.byId("myIdOfTheContentPaneWhereTheIconClasswasDefined").domNode.className="dijitNoIcon

хотя это не элегантно на все ...

+0

Извините за длительную задержку. Для меня это помогло: var classNameCollection = registry.byId ("IDOfMyTabContainer"). Tablist._selectedTab.childNodes [1] .className; var newClassNames = classNameCollection.split ("dijitNoIcon"); registry.byId ("IDOfMyTabContainer"). Tablist._selectedTab.childNodes [1] .className = newClassNames [0] + "myIconClass"; то же самое для удаления значка. Просто переключите IconClass и NoIcon Part – Keksdose