我有一个通用的tile控件,根据可用的实体数量(例如:SCARRSet)创建tile,这是正常的。然后在嵌套的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文件如下所示。有没有办法迭代每个tile来查找Key = SCARRSet / Carrid然后填充imageContent src =(例如:“/ image / AA.gif”)?
{
"icon": [
{
"Key" : "AA",
"Path" : "/image/AA.gif"
},
...
]
}
我会使用formatter function进行查找:
src="{formatter: '.formatter.getIconUrl', path: 'flight>Carrid'}"
在格式化程序getIconUrl
中,您将获得Carrid
作为输入参数。
出于性能原因,我还建议重新格式化JSON一次以获得对url的哈希访问:jsonData[carrid]
返回url。