2015-07-02 120 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