You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

动态绑定sap.m.Table项时遇‘缺少聚合项模板/工厂函数’错误

解决sap.m.Table绑定数据时的"Missing template or factory function"错误

这个错误很常见,本质是sap.m.Table的items聚合需要明确知道怎么渲染每一行数据——你要么给它一个模板(template),要么用工厂函数,既然你不想用工厂函数,那咱们就把模板配置好就行。

从你给出的代码来看,目前只定义了表头和列结构,但完全没配置items的模板部分,这就是问题的核心。下面是修改后的完整视图代码,我帮你补全了缺失的关键部分:

<Table id="favTable" items="{/favoriteServices}"> <!-- 替换成你实际的数据集合绑定路径 -->
  <headerToolbar>
    <Toolbar>
      <Title id="tableHeader" text="{i18n>tableHeader}"/>
    </Toolbar>
  </headerToolbar>
  <columns>
    <Column>
      <Label text="{i18n>serviceNameColText}" />
    </Column>
    <!-- 示例:假设你还有状态列,可根据实际需求调整 -->
    <Column>
      <Label text="{i18n>serviceStatusColText}" />
    </Column>
  </columns>
  <!-- 关键:添加行模板,与列结构一一对应 -->
  <items>
    <ColumnListItem>
      <cells>
        <!-- 第一个单元格对应第一列,绑定服务名字段 -->
        <ObjectIdentifier title="{serviceName}" />
        <!-- 第二个单元格对应第二列,绑定状态字段 -->
        <Text text="{serviceStatus}" class="{= ${serviceStatus} === '维护中' ? 'sapUiNegative' : '' }" />
      </cells>
    </ColumnListItem>
  </items>
</Table>

几个需要注意的关键点:

  1. 数据绑定路径要匹配:items="{/favoriteServices}"里的路径必须和你ViewModel/Model中的数据集合路径一致。比如你的Model数据结构是:

    {
      "favoriteServices": [
        { "serviceName": "用户管理服务", "serviceStatus": "正常" },
        { "serviceName": "订单处理服务", "serviceStatus": "维护中" }
      ]
    }
    

    那这个路径就是正确的。

  2. 模板与列数量一致:<ColumnListItem>里的<cells>数量必须和你定义的<columns>数量完全对应,每个单元格里可以放任意sap.m控件(Text、ObjectIdentifier、Button等),并绑定对应的数据字段。

  3. 确保Model正确初始化:在控制器里要把数据Model绑定到视图上,比如:

    onInit: function() {
      const oServiceModel = new sap.ui.model.json.JSONModel();
      // 这里可以替换成加载后端数据的逻辑
      oServiceModel.setData({
        favoriteServices: [/* 你的数据数组 */]
      });
      this.getView().setModel(oServiceModel);
    }
    

只要按上述方式配置好行模板,并且数据绑定路径正确,这个错误就会消失,表格也能正常渲染出数据行。

内容的提问来源于stack exchange,提问作者Pille

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:34:22