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

请教:如何在XML视图中为sap.suite.ui.microchart.InteractiveBarChart绑定JSON模型

解决InteractiveBarChart绑定JSON模型的问题

我来帮你搞定这个绑定问题!你当前的代码在绑定方式上有点小问题,InteractiveBarChart的bars聚合需要通过items结合template来实现批量绑定,而不是直接在控件上用bindBars。下面是修正后的完整方案:

1. 正确的XML视图代码

把绑定逻辑移到<mc:bars>节点上,通过items绑定你的JSON数组,并用template定义每个条形的结构:

<mc:InteractiveBarChart xmlns:mc="sap.suite.ui.microchart" labelWidth="25%">
  <mc:bars items="{/}">
    <mc:template>
      <mc:InteractiveBarChartBar label="{key}" value="{value}" />
    </mc:template>
  </mc:bars>
</mc:InteractiveBarChart>

2. 控制器中设置JSON模型

确保你已经在控制器(比如onInit方法)里正确初始化并绑定了JSON模型,示例代码如下:

onInit: function() {
  // 模拟你的数组数据(替换成实际业务数据即可)
  const chartData = [
    { key: "产品A", value: 85 },
    { key: "产品B", value: 120 },
    { key: "产品C", value: 60 }
  ];
  // 创建JSON模型并设置到视图
  const oChartModel = new sap.ui.model.json.JSONModel(chartData);
  this.getView().setModel(oChartModel);
}

关键注意点

  • 如果你的模型是命名模型(比如设置时用了this.getView().setModel(oModel, "chartData")),那么绑定路径要加上模型名称,改成items="{chartData>/}"
  • 确保项目中已经正确引入了sap.suite.ui.microchart库,可在manifest.json的sap.ui5/dependencies/libs中添加sap.suite.ui.microchart
  • 数据中的key和value字段要和你绑定的路径完全匹配,大小写敏感

这样设置后,你的InteractiveBarChart就能正确渲染JSON数组中的所有条形数据啦!

内容的提问来源于stack exchange,提问作者Luca Campo Dall'Orto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:47:46