我想創建一個Tabcontainer並以編程方式填充其TabPage內容,但不會顯示TabPages。到目前爲止我的代碼:TabContainer僅在windowresize中顯示選項卡
_buildUI: function() {
var bordercontainer = new dj_BorderContainer({ style: "height: 100%; width: 100%;", gutters: false, region: "top" });
var tabcontainer = new dj_TabContainer({ useMenu: false, region: "center", tabposition: "top", doLayout: "false", style: "height: 100%; width: 100%;" });
for (var i = 0; i < ki_KisConfig.widgets.movingwindow.calccount; i++) {
var contentpane = new dj_ContentPane({ title: "Calculation " + (i + 1), content: "content", style: "height: 100%; width: 100%;" });
//contentpane.startup();
tabcontainer.addChild(contentpane);
}
tabcontainer.startup();
bordercontainer.addChild(tabcontainer);
bordercontainer.startup();
do_domConstruct.place(bordercontainer.domNode, this.interface, "first");
bordercontainer.resize({ h: "265px", w: "432px" });
},
我已經搜索並嘗試了不同的東西。正如你看不到我正在設置doLayout
-屬性提到here。我也使用BorderContainer
像提到的here in the last posting一樣,並且在創建像上面提到的here之類的TabContainer之後嘗試調整它的大小。 如果我正在調用包含小部件的postCreate
- 或startup
-函數中的方法,則無關緊要。
我想通過樣式設置寬度和高度或啓動每個「子」小部件。
沒有任何作用,並且TabContainer僅在調整瀏覽器窗口大小或通過打開/關閉developertools(F12)調整大小時纔會顯示。如果顯示它看起來像我想要它。唯一的問題是,當我直接檢查DOM時,TabList
的大小爲0x0,與TabPaneWrapper
的大小相同。
有沒有人有任何想法?
編輯
僅在調用使用BorderContainer啓動後我得到這樣的結果:
的標籤列表的佈局很奇怪,也沒有顯示程序選擇的選項卡的內容。一切的窗口大小調整後再次罰款:
解決方案(摘要)
我檢索到的最好的結果與定義BorderContainer
並在HTML模板的TabContainer
。不幸的是,tablist的佈局仍然失敗。 This answer爲正確的tablist佈局提供瞭解決方案:我的小部件不包含resize(),所以我添加了它,現在一切正常。
resize: function() {
var tabcontainer = dj_registry.byId("tabContainerMW");
if (tabcontainer) {
tabcontainer.resize(arguments);
}
},
它通常是因爲父節點的大小爲0.你可以製作一個jsfiddle,這樣我們可以看看嗎? – ben
父節點的大小大於零。我通過設置寬度和高度來保證這一點,然後用dom檢查來檢查它。 – Onsokumaru