我正在尝试使用sap.uxap ObjectPageLayout,包括节和子节。如果我只使用部分,一切都很好。使用subSections,输出是预期的输出,但是存在错误
共享模板必须在绑定信息 -
中使用templateShareable标记为true
我的模型绑定了名称mydatamodel
,看起来像
{
"data":{
"Prop1":[
{
"Prop2":[
{
"Prop3":[
{
"Prop4":[],
"Name":"Name31"
},
{
"Prop4":[],
"Name":"Name32"
}
],
"Name":"Name21"
},
{
"Prop3":[
{
"Prop4":[],
"Name":"Name33"
},
{
"Prop4":[],
"Name":"Name34"
}
],
"Name":"Name22"
}
],
"Name":"Name11"
}
]
}
}
XML niew是
<mvc:View
controllerName="app.catalogue.view.master.cataloguePreview"
xmlns:core="sap.ui.core"
xmlns:mvc="sap.ui.core.mvc"
xmlns:l="sap.ui.layout"
xmlns="sap.m"
xmlns:uxap="sap.uxap"
xmlns:table="sap.ui.table"
xmlns:u="sap.ui.unified"
displayBlock="true"
templateShareable="true">
<Page
title="{i18n>PreviewTitle}">
<uxap:ObjectPageLayout
sections="{mydatamodel>Prop1}">
<uxap:headerTitle>
<uxap:ObjectPageHeader
objectTitle="{i18n>ObjectTitle}">
</uxap:ObjectPageHeader>
</uxap:headerTitle>
<uxap:sections>
<uxap:ObjectPageSection
title="{mydatamodel>Name}"
subSections="{mydatamodel>Prop2}">
<uxap:subSections>
<uxap:ObjectPageSubSection
title="{mydatamodel>Name}"
<uxap:blocks
title="{mydatamodel>Name}">
<table:Table
rows="{mydatamodel>Prop3}"
<table:columns>
<table:Column
width="11rem"
sorted="true"
sortOrder="Ascending"
sortProperty="Name">
<Text text="{i18n>TableTitle}" />
<table:template>
<Label text="{mydatamodel>Name}" />
</table:template>
</table:Column>
</table:columns>
</table:Table>
</uxap:blocks>
</uxap:ObjectPageSubSection>
</uxap:subSections>
</uxap:ObjectPageSection>
</uxap:sections>
</uxap:ObjectPageLayout>
</Page>
</mvc:View>
备注:如果我取消 subSections="{mydatamodel>Prop2}"
并将行更改为 rows="{mydatamodel>Prop2}"
,则不会出现错误。
你有什么想法吗?感谢。
答案 0 :(得分:0)
我假设你正在使用聚合绑定。
bindingInfo参数中有一个名为templateShareable的属性。 将此设置为true,错误应该消失。