2015-07-02 48 views
0

由于这篇文章的标题已经说:我想切换我的tabcontainer中的图标。在tabcontainer切换图标

我收到了一个带有一些ContentPanes的TabContainer。

如果我从数据库中获取一些值,我将它们显示在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回报你一个小部件,而不是一个れ。

这应该工作: 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部分 – Keksdose