我正在尝试修改我视图中的拆分窗格。
我的观点如下:
<mvc:View
controllerName="svm.controller.Controller"
xmlns:l="sap.ui.layout"
xmlns:mvc="sap.ui.core.mvc"
xmlns:core="sap.ui.core"
xmlns="sap.m">
<l:ResponsiveSplitter defaultPane="default" width="100%" height="100%">
<l:PaneContainer>
<l:SplitPane id="default" height="100%">
<Panel headerText="header">
</Panel>
</l:SplitPane>
<l:SplitPane height="100%">
<Panel headerText="header2">
</Panel>
</l:SplitPane>
</l:PaneContainer>
<l:ResponsiveSplitter>
</mvc:View>
我想要做的第一件事是改变窗格的开始范围。可以很容易地修改面板的大小,但窗格不会更改为与其面板相同的宽度。将窗格设置为width="20%"
和width="80%"
无法移动分割器开始的位置。
我还希望我的一个窗格在应用程序启动时不在那里,基本上可以在切换中添加和删除,完成它的面板和内部的所有内容。
有没有办法在javascript中或最好在xml中执行这些操作?
答案 0 :(得分:2)
这不容易。你必须使用SplitterLayoutData(这是实验性的)
将以下行添加到控制器的onInit()函数中:
var oSplitterLayoutData= new SplitterLayoutData({size: "30%"});
var oPane= this.byId("default");
oPane.setLayoutData(oSplitterLayoutData);
XML视图中的面板中的或:
<mvc:View
controllerName="sap.ui.demo.basicTemplate.controller.App"
xmlns:l="sap.ui.layout"
xmlns:mvc="sap.ui.core.mvc"
xmlns:core="sap.ui.core"
xmlns="sap.m">
<l:ResponsiveSplitter defaultPane="default" width="100%" height="100%">
<l:PaneContainer>
<l:SplitPane id="default" height="100%">
<Panel headerText="header">
<layoutData><l:SplitterLayoutData size="30%" /></layoutData>
</Panel>
</l:SplitPane>
<l:SplitPane height="100%">
<Panel headerText="header2">
</Panel>
</l:SplitPane>
</l:PaneContainer>
</l:ResponsiveSplitter>
</mvc:View>