1

我使用两个窗格(网格和细节)作为主细节模式。现在我正在尝试创建“右侧的详细信息”或“底部的详细信息”切换按钮。我通过更改 ContentPane 的区域属性来做到这一点,如下所示:

function toggleDetails() {
     if(dijit.byId("Details").region == "right") {
        dijit.byId("Details").set("region", "bottom");
        dojo.byId("Details").style.height = "200px";
     }
     else {
         dijit.byId("Details").set("region", "right");
         dojo.byId("Details").style.width = "400px";
     }
     dijit.byId("DetailsParent").resize();
 }

窗格本身正在改变。问题是我有一个用于详细信息窗格的拆分器。切换时,拆分器可以用于原始方向,但不能正确渲染备用方向。任何基于 contentPane 区域刷新拆分器方向的解决方案?

我已经尝试以编程方式更改一些拆分器小部件属性,例如“水平”和“区域”,但没有真正修复备用方向。

4

1 回答 1

0

一个可能的解决方案是使用 removeChild 和 addChild 就像在这个例子中一样

        if (isVertical) {

            // vertical layout 

            this.ap_MainContainer.removeChild(this.ap_TopContainer);

            this.ap_TopContainer.region = 'top';

            this.ap_MainContainer.addChild(this.ap_TopContainer);

        } else {

            // horizontal layout

            this.ap_MainContainer.removeChild(this.ap_TopContainer);

            this.ap_TopContainer.region = 'left';

            this.ap_MainContainer.addChild(this.ap_TopContainer);
        }
于 2016-07-05T05:46:56.193 回答