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

如何将自定义标签数组传入Chart.js饼图组件的labels配置项?

你不用额外遍历arr,labels配置本身就支持直接传入数组,直接把arr变量赋值给labels字段即可。

另外你之前生成arr的代码可以简化,不需要单独声明空数组再push,直接用map返回新数组更简洁:

// 优化后的arr生成代码
const arr = items ? items.map(index => index.itemName) : []

控制台打印结果和你之前的写法完全一致:

["Item1", "Item2", "Item3", "Item4"]

修改后的Pie组件代码如下:

<Pie
  data={{
    labels: arr, // 直接赋值arr即可,不需要额外遍历
    datasets: [
      {
        label: "1st Dose",
        // 注意:当前data有5个值,arr只有4个元素,建议调整成数量一致避免图表渲染异常
        data: [10, 20, 30, 50, 30],
        backgroundColor: ["red", "orange", "yellow", "Green", "Blue"],
        borderColor: ["rgba(255, 99, 132, 1)"],
        borderWidth: 1,
      },
    ],
  }}
  height={400}
  width={600}
  options={{
    maintainAspectRatio: false,
    title: {
      display: true,
      text: "Hello",
      fontSize: 20,
    },
    legend: {
      labels: {
        fontSize: 25,
      },
    },
  }}
/>

如果确实需要对arr的元素做二次处理再填入,可以直接在赋值的时候做遍历处理,比如给每个项加前缀的写法:

labels: arr.map(item => `前缀-${item}`)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:12:02