SAPUI 5-具有两个数据模型的聚合控制

时间:2019-04-08 14:20:17

标签: sapui5

我有一个通用的图块控件,该图块是根据可用实体数(例如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"
  },
...
]
}

1 个答案:

答案 0 :(得分:0)

我将使用formatter function进行查找:

src="{formatter: '.formatter.getIconUrl', path: 'flight>Carrid'}"

在格式化程序getIconUrl中,您将获得Carrid作为输入参数。

出于性能方面的考虑,我还建议将JSON重新格式化一次以对URL进行哈希访问:jsonData[carrid]返回URL。