Ich möchte ein TabContainer erstellen und seine TabPage Inhalt programmatisch füllen, aber die TabPages werden nicht angezeigt. Bis jetzt mein Code:TabContainer Tabs zeigt nur bei 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" });
},
Ich habe gegoogled herum und versuchte verschiedene Sachen. Wie Sie sehen können, setze ich die doLayout
-Eigenschaft erwähnt here. Ich benutze auch eine BorderContainer
wie here in the last posting erwähnt und ich versuche es, um die Größe nach dem TabContainer wie erwähnt here zu schaffen. Es doens't ganz gleich, ob ich die Methode in der postCreate
Aufruf - oder die startup
-function des enthaltenden Widget.
Ich versuche, die Breite und die Höhe über Stil zu setzen oder all „sub“ Widget zum Start.
Nichts funktioniert und die TabContainer wird nur angezeigt, wenn ich den Browser neu bin Größe ändern oder es durch Öffnen Ändern der Größe/die developertools Schließen (F12). Wenn es angezeigt wird, sieht es so aus, als ob ich es möchte. Das einzige Problem ist, dass die TabList
eine Größe von 0x0 und das gleiche mit der TabPaneWrapper
hat, wenn ich direkt das DOM inspiziere.
Hat jemand eine Idee? Ich erhalte dieses Ergebnis
bearbeiten
Nach dem Start nur auf dem Border Aufruf:
Das TabList Layout ist seltsam, und auch der Inhalt der programmatischen ausgewählten Registerkarte wird nicht angezeigt. Alles ist wieder in Ordnung nach Größe eines Fensters ändern:
Solution (Zusammenfassung)
ich das beste Ergebnis holte die BorderContainer
mit der Definition und der TabContainer
in der HTML-Vorlage. Leider ist das Layout der Tabliste immer noch fehlgeschlagen. This answer lieferte die Lösung für das korrekte Tablisten-Layout: Mein Widget enthielt keine resize(), also habe ich es hinzugefügt und alles funktioniert jetzt gut.
resize: function() {
var tabcontainer = dj_registry.byId("tabContainerMW");
if (tabcontainer) {
tabcontainer.resize(arguments);
}
},
ist es normalerweise, weil der Elternknoten eine Größe von 0 hat. Können Sie ein Jfiddle machen, damit wir einen Blick darauf werfen können? – ben
Die übergeordneten Knoten haben eine Größe größer als null. Ich versichere dies mit der Einstellung der Breite und Höhe und habe es mit dom-inspection überprüft. – Onsokumaru