我需要更改其中一個選項卡的類別 - 該面板將從子類別ContentPane
小工具更改爲子類別BorderLayout
小工具。替換dojo/dijit TabContainer中特定選項卡的內容?
至少我可以從TabContainer
中刪除孩子,然後在該銷燬標籤的位置插入一個具有相同標籤標題的新孩子。但有沒有一個合法的快捷方式,只需取代支持控制而不會使標籤失效?
(道場1.8 - 小部件的編程實例)
我需要更改其中一個選項卡的類別 - 該面板將從子類別ContentPane
小工具更改爲子類別BorderLayout
小工具。替換dojo/dijit TabContainer中特定選項卡的內容?
至少我可以從TabContainer
中刪除孩子,然後在該銷燬標籤的位置插入一個具有相同標籤標題的新孩子。但有沒有一個合法的快捷方式,只需取代支持控制而不會使標籤失效?
(道場1.8 - 小部件的編程實例)
而是通過dijit/layout/ContentPane
添加標籤將其添加爲dijit/layout/StackPane
的。然後使用StackPane的方法addChild(widget)
,removeChild(widget)
和/或selectChild(widget)
:
var tab1 = registry.byId("tab1"); // dijit/layout/StackContainer
var bc = new BorderContainer();
var cp1 = new ContentPane({
content: "content pane 1",
region: "top"
});
var cp2 = new ContentPane({
content: "content pane 2",
region: "center"
});
bc.addChild(cp1);
bc.addChild(cp2);
tab1.addChild(bc);
tab1.selectChild(bc);
正是我所問的,謝謝(其他人只需要注意一點:這需要知道你將要交換特定的選項卡,並提前準備 - 如果還有事後方法,仍然會很好奇。這工作現在正常!) –
一旦你調用'的addChild(子)',您通過鍵入'的'var' ContentPane'分辯?難道不可能用新的BorderContainer替代'var'嗎? – nozzleman
好吧,我可以改變這個var - 但是這不會改變任何TabContainer內部的變量指向舊的ContentPane ......我需要告訴容器它的內容正在改變。或者我誤解了你? –
好,比我這個migth根本不可能。正如你已經說過的那樣,「TabContainer」不提供'replace'方法或類似的東西。但是應該可以做一個令人討厭的workaroud來執行'yourContentPane.set('content',yourBorderContainer.domNode);'或者某事。像那樣。 – nozzleman