UI5的拆分面板中是否可以有2个NavContainers?

问题描述

在拆分面板中是否可以有两个两个NavContainers

我尝试如下图所示,但子视图中没有显示任何内容,只显示了拆分面板,并且两侧都是空的。错误日志未显示任何内容
当我将第一个NavContainer作为第一个元素放在page元素的content标签内时,将渲染第一个容器的视图。 (请参见视图定义中的注释行)

<mvc:View
        controllerName="my.controller.parent"
        xmlns="sap.m"
        ..
        id="splittedContainers" xmlns:m="sap.m">
    <Page id="myPage" class="sapUiSizeCompact sapUiTinyMargin" title="myTitle">
        <!-- Putting the NavContainer here seems to work -->**
        <content class="sapUiSizeCompact sapUiTinyMargin">
            <Panel class="sapUiSizeCompact sapUiTinyMargin">
                <content>
                    <l:Splitter orientation="Horizontal">
                        <l:contentAreas>
                            <Panel width="100%">
                                <layoutData>
                                    <l:SplitterLayoutData size="auto" />
                                </layoutData>
                                <NavContainer id="childNav1">
                                    <pages>
                                    </pages>
                                </NavContainer>             
                            </Panel>
                            <Panel>
                                <layoutData>
                                    <l:SplitterLayoutData size="300px" />
                                </layoutData>
                                <NavContainer id="childNav2">
                                    <pages>
                                    </pages>
                                </NavContainer>             
                            </Panel>
                        </l:contentAreas>
                    </l:Splitter>

                </content>
            </Panel>
        </content>
    </Page>
</mvc:View>

manifest.json:

..
        "routes": {
          "rBoth": {
            "pattern": "both","target": "parentTarget"
          },"rChild1": {
            "pattern": "both/first","target": "tChild1"
          },"rChild2": {
            "pattern": "both/second","target": "tChild2"
          }
..

..
    "targets": {
        "parentTarget": {
          "viewPath": "my.view","viewName": "SplitParentView","parent": "firstLvlTarget","controlId": "pageContainer","controlAggregation": "pages","transition": "flip","viewLevel": 2
        },"tChild1": {
            "viewPath": "my.view.childs","viewName": "ChildView1","parent": "parentTarget","controlId": "childNav1","viewLevel": 3
        },"tChild2": {
          "viewPath": "my.view.childs","viewName": "ChildView2","controlId": "childNav2",..

解决方法

您要通过这个实现什么? 大多数屏幕比高屏幕更宽,因此FlexibleColumnLayout在大多数情况下会有所帮助。

NavContainer具有页面聚合。

这些类型可以是sap.m.Page,sap.ui.core.View,sap.m.Carousel或 具有全屏/页面语义的任何其他控件。”

我认为面板不适用于此类控件。

如果只想水平分割,则可以将ObjectPage与Sections and Subsections

一起使用

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...