这是如何在OpenUI 5 / 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。
答案 0 :(得分:1)
这应该可以解决问题:
<tnt:SideNavigation expanded="true" itemSelect="onItemSelect">
<tnt:NavigationList id="sideMenu" items="{/MainNavigation/Link}">
<tnt:NavigationListItem text="{property/@name}" />
</tnt:NavigationList>
</tnt:SideNavigation>
有关Binding Path Syntax for XML Models的文档中的详细信息。
对于属性,使用&#34; @&#34;的特殊选择器字符存在和&#34; text()&#34;可用于引用元素的内容文本。通过使用多元素的路径引用列表。
BR Chris