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
相关产品推荐
相关产品推荐

