Sapui5 聚合绑定:如何将具有不同聚合绑定的不同控件放在已具有聚合绑定的控件内

Sapui5 聚合绑定:如何将具有不同聚合绑定的不同控件放在已具有聚合绑定的控件内,sapui5,Sapui5,我的模型中有以下数据: { vertexTable: [ { "NAME": "Tethys", "TYPE":"titan", "RESIDENCE":"Othrys" }, { "NAME": "Oceanus", "TYPE": "titan", "RESIDENCE": "Othrys" } ], vertexAttributes: [ { "COLUM

我的模型中有以下数据:

{
  vertexTable: [
    {
      "NAME": "Tethys",
      "TYPE":"titan",
      "RESIDENCE":"Othrys"
    },
    {
      "NAME": "Oceanus",
      "TYPE": "titan",
      "RESIDENCE": "Othrys"
    }
  ],
  vertexAttributes: [
    {
      "COLUMN_NAME": "NAME",
      "DATA_TYPE_NAME": "VARCHAR"
    },
    {
      "COLUMN_NAME": "TYPE",
      "DATA_TYPE_NAME": "VARCHAR"
    },
    {
      "COLUMN_NAME": "RESIDENCE",
      "DATA_TYPE_NAME": "VARCHAR"
    }
  ]
}
我希望在视图中显示此数据,以便有一个来自vertexAttributes/COLUMN_NAME的标签,每个标签都有一个来自..的相关下拉列表/选择框

vertexTable/NAME用于名称标签, 类型标签的vertexTable/TYPE,以及 住宅标签的vertexTable/RESIDENCE。 我考虑使用一个表单控件,它将聚合绑定到formElements={/vertexattributes},然后将每个表单元素从vertexattributes绑定到{COLUMN_NAME}。但是现在,我想把Select控件放到vertexTable上,它有一个聚合绑定,然后将项绑定到NAME、TYPE和RESIDENCE

以下是我在视图中尝试的代码:

<f:form>
  <f:FormContainer formElements="{/vertexAttributes}">
    <f:FormElement label="{COLUMN_NAME}">
      <List id="values" items="{path: 'VALUES', templateShareable: false}">
        <StandardListItem title="{value}"></StandardListItem>
      </List>
    </f:FormElement>
  </f:FormContainer>
</f:form>
我必须使用templateShareable,因为我遇到了一个错误。不完全确定是什么。 此外,我使用列表来显示完整的值,而不是选择/下拉

这是正确的方法还是有更好的方法?
我遇到了factory函数,但无法实现它。

以下是一个工作示例:

sap.ui.getCore.attachInit=>sap.ui.require[ sap/ui/model/json/JSONModel, sap/ui/layout/form/FormElement, sap/m/Label, sap/m/Select, sap/ui/core/Item, ],JSONModel,FormElement,Label,Select,Item=>sap.ui.xmlview{ 查看内容:` `, 控制器:sap.ui.controllerdemo.MyController{ createFormElement:函数ID,上下文{ const columnName=context.getPropertyCOLUMN\u NAME; 返回新的FormElementid.setLabelnew标签{ 文本:columnName, }.addFieldnew Select.bindItems{ 路径:/vertexTable, 模板:new Item.bindPropertytext,columnName, }; }, }, }.setModelnew JSONModel{ 可垂直拉伸:[{ 姓名:特提斯, 型号:Titan1, 住所:Othrys1 }, { 姓名:欧森豪斯, 型号:Titan2, 住所:Othrys2 }, ], 顶点属性:[{ 列名称:名称, 数据类型名称:VARCHAR }, { 列名称:类型, 数据类型名称:VARCHAR }, { 栏目名称:住所, 数据类型名称:VARCHAR }, ] }.placeAtcontent;
VertexAttribute/Column_Name的值不是vertexTable的键,它引用顶点表中的所有列标题。我的vertex表如下所示:NAME | TYPE | RESIDENCE Oceanus | titan | Orthys Tethy | titan | Orthys,所以我们的想法是将标签显示为列标题,并将列表显示为列中的关联值。感谢您的回复,我无法运行工厂功能。我会试试你的解决办法同时也感谢您提供的templateShareable链接。