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
-Property는 here을 언급했습니다. 나는 또한 here in the last posting을 언급 한 BorderContainer
을 사용하고 나는 here과 같은 TabContainer를 만든 후에 크기를 조정하려고하고있다. 포함 된 위젯의 postCreate
- 또는 startup
- 함수에서 메소드를 호출하면 문제가되지 않습니다.
스타일을 통해 너비와 높이를 설정하거나 모든 "하위"위젯을 시작하려고합니다.
아무 것도 작동하지 않으며 브라우저 창 크기를 조정하거나 developertools (F12)를 열거 나 닫음으로써 크기를 조정할 때 TabContainer 만 표시됩니다. 표시되면 내가 원하는 것처럼 보입니다. 유일한 문제는 TabList
의 크기가 0x0이고 DOM을 직접 검사 할 때 TabPaneWrapper
과 동일하다는 것입니다.
tablist에서 레이아웃이 이상하고 또한 프로그램 선택한 탭의 내용이 표시되지 않습니다 :
편집
에만 BorderContainer에 시동을 호출 한 후 나는이 결과를 얻을. 모든 창 크기 조정 후 다시 괜찮 :
솔루션 (요약)
나는 BorderContainer
과 HTML 템플릿에서 TabContainer
을 정의하는 가장 좋은 결과를 검색. 불행히도 tablist의 레이아웃은 여전히 실패했습니다. This answer은 올바른 탭 목록 레이아웃을 위해 솔루션을 제공했습니다. 내 위젯에 resize()가 포함되어 있지 않아 추가 했으므로 이제 모든 것이 올바르게 작동합니다. 코드에
resize: function() {
var tabcontainer = dj_registry.byId("tabContainerMW");
if (tabcontainer) {
tabcontainer.resize(arguments);
}
},
부모 노드의 크기가 0이기 때문에 일반적으로 발생합니다. jsfiddle을 만들면 모양을 볼 수 있습니까? – ben
상위 노드의 크기가 0보다 큽니다. 나는 너비와 높이를 세우면서 이것을 인정하고 있는데 나는 돔 검사로 그것을 검사했다. – Onsokumaru