UI5添加/删除/更改响应拆分器拆分窗格

时间:2018-01-18 00:17:11

标签: javascript xml sapui5

我正在尝试修改我视图中的拆分窗格。

我的观点如下:

<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中执行这些操作?

1 个答案:

答案 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>