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

Chart.js v4使用afterLayout时图例文本不更新的问题与解决

问题:Chart.js v4 修改图例文本不生效

我在使用Chart.js v4时,尝试修改图例文本,确认代码已执行,但图例标签始终保持原样,没有在末尾添加"Test"。相关代码如下:

var myChart = new Chart(ctx, {
    type: 'bar',
    plugins: [{
        afterLayout: chart => {
            chart.legend.legendItems.forEach(
                (label) => {
                    label.text += ' Test';
                    return label;
                }
            )
        }
    }],
});

看起来是某些内容没有被刷新,请问我遗漏了什么?

解决方案

起初我使用afterDraw钩子,该方法能生效,但发现afterDraw会执行两次,导致图例文本被不必要地更新两次。后来改用afterUpdate钩子解决了问题,代码如下:

var myChart = new Chart(ctx, {
    type: 'bar',
    plugins: [{
        afterUpdate: (chart, args, opts) => {
            chart.legend.legendItems.forEach(
                (label) => {
                    label.text += ' Test ';
                    return label;
                }
            )
        }
    }],
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:42:05