SAPUI5:XML模型的绑定属性



OpenUI5/SAPUI5中是如何做到这一点的
给定以下

<MainNavigation>
<Link>
<property name="Name">Clinical Overview</property>
<property name="command">showTeachingPoints</property>
<property name="autoSelect">true</property>
</Link>
<Link>
<property name="command">showDevices</property>
<property name="Name">Equipment</property>
</Link>
</MainNavigation>

并尝试为以下内容填写text属性:

<tnt:SideNavigation expanded="true" itemSelect="onItemSelect">
<tnt:NavigationList id="sideMenu" items="{/MainNavigation/Link}">
<tnt:NavigationListItem text="{property/[@name='Name']/text()}" />
</tnt:NavigationList>
</tnt:SideNavigation>

目标应该是显示每个属性的名称(如临床概述、设备等),但查询不起作用。

我也试过:

{property/[@name='Name']/text()}
{property/[name='Name']/text()}
{property/['@name='Name'']/text()}
{property[@name='Name']/text()}

唯一有效的方法是

{property}

但是,这将只显示属性节点集合中最先显示的内容。我想知道如何到达特定的节点,因为我想将其他节点用于不同的目的(默认选择、函数回调名称等)

编辑以澄清:
列表应包含:

Clinical Overview
Equipment

使用{property/@name},列表将为:

Name
command

当然,这不是我想要的,但它与{property}有着相同的问题,因为它只返回<Link>下的第一个项目,而我可能想要第二个或第三个。

这个xpath查询在/UI/MainNavigation/Link/property[@name='Name']/text()的其他地方也可以使用,我只想知道如何将其转换为OpenUI。

这应该可以做到:

<tnt:SideNavigation expanded="true" itemSelect="onItemSelect">
<tnt:NavigationList id="sideMenu" items="{/MainNavigation/Link}">
<tnt:NavigationListItem text="{property/@name}" />
</tnt:NavigationList>
</tnt:SideNavigation>

文档中有关XML模型绑定路径语法的更多信息。

对于属性,存在一个使用"@"字符的特殊选择器,并且可以使用"text()"来引用元素的内容文本。通过使用多个元素的路径来引用列表。

BR Chris

最新更新