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

SAPUI 5 - Aggregated control with two data models

我有一个通用图块控件,该图块是根据可用实体的数量(例如:SCARRSet)创建的,这是正常的。然后在嵌套的 Tile 内容中,我需要显示图像路径存储在 JSON 文件中的航空公司徽标。我的想法是使用SCARRSet/Carrid中的key查找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=(e.g.:"/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] returns url .