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

react-chartjs-2柱状图无数据显示undefined%如何改为不展示内容

解决方法

问题根源是datalabels的formatter配置未对无效值做过滤,数据不存在时val为undefined,直接拼接字符串就会出现undefined%的异常显示。你只需要修改datalabels的配置即可:

修改方案1:通过formatter过滤

将原有datalabels配置替换为以下内容:

datalabels: {
  formatter: (val, context) => {
    // 仅当值为有效数字时返回百分比文本
    if (val === undefined || val === null || Number.isNaN(val)) {
      // 返回空字符串时,datalabels会自动不渲染该位置的标签
      return '';
    }
    return `${val}%`;
  },
},

修改方案2:通过display属性过滤(更推荐)

也可以直接通过display配置控制标签是否渲染,逻辑更清晰:

datalabels: {
  // 返回false时该位置标签不会渲染
  display: (context) => {
    const val = context.dataset.data[context.dataIndex];
    return val !== undefined && val !== null && !Number.isNaN(val);
  },
  formatter: (val) => `${val}%`,
},

两种方案都可以实现无数据时对应位置不显示任何内容的需求,你的tooltip配置已经做了无效值判断,不需要额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:15:03