我有一个通用的图块控件,该图块是根据可用实体数(例如SCARRSet)创建的,这很正常。然后,在嵌套的Tile内容中,我需要显示航空公司徽标,图像路径存储在JSON文件中。我的想法是使用SCARRSet / Carrid中的键来查找JSON文件以查找图像路径。这样就会为航空公司显示正确的图像。
以前,我将图像路径放在Url字段中,这很好,但是该字段用于其他用途。现在我想正确地做。
<l:HorizontalLayout id="hLayout1" allowWrapping="true" content="{flight>/SCARRSet}">
<GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout"
header="{flight>Carrname}"
subheader="{flight>Carrid}"
press="onTilePressed"
backgroundImage="">
<TileContent unit="{flight>Currcode}" footer="">
<ImageContent src="{flight>Url}" />
</TileContent>
</GenericTile>
</l:HorizontalLayout>
JSON文件如下所示。有没有一种方法可以遍历每个图块以查找Key = SCARRSet / Carrid然后填充imageContent src =(例如:“ / image / AA.gif”)?
{
"icon": [
{
"Key" : "AA",
"Path" : "/image/AA.gif"
},
...
]
}
答案 0 :(得分:0)
我将使用formatter function进行查找:
src="{formatter: '.formatter.getIconUrl', path: 'flight>Carrid'}"
在格式化程序getIconUrl
中,您将获得Carrid
作为输入参数。
出于性能方面的考虑,我还建议将JSON重新格式化一次以对URL进行哈希访问:jsonData[carrid]
返回URL。