HighCharts菜单项值未更新



当用户选择不同的语言时,我需要翻译我的highcharts。我有一个图表服务,它监听translationService,并将从translationService接收的值分配给图表的downloadCSV属性。这是代码">

private downloadCsvText= '';
this._translateService.get('TL_DOWNLOAD_CSV').subscribe((res: string) => this.downloadCsvText=res);
Highcharts.setOptions({
global: { useUTC: false },
lang: {
noData: this.chartNoData,
downloadCSV: this.downloadCsvText
}
});

在我创建图表的方法中,我有:

exporting: {
filename: 'MyChart',
buttons: {
contextButton: {
menuItems: ['downloadCSV']
}
},
csv: {
itemDelimiter: ';'
},
fallbackToExportServer: false
}

然而,在用户更改语言的那一刻,menuItems是唯一没有被翻译的东西。欢迎提供任何指导。

我正在使用

  • 角度8
  • "highcharts":"6.1.1">
  • "highcharts export csv":"=1.4.8">
  • "highcharts模式填充":"3.0.3">

当前,您的代码执行的操作如下演示所示:https://jsfiddle.net/BlackLabel/kL5xahve/-这是错误的,因为选项是在图表初始化后定义的。

最简单的解决方案是销毁图表,并在更改语言后再次初始化它。

演示:https://jsfiddle.net/BlackLabel/wLhxc0qb/

var chartOptions = {
series: [{
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
}],
exporting: {
buttons: {
contextButton: {
menuItems: ["downloadCSV"]
}
},
}
};
var chart = Highcharts.chart('container', chartOptions);
Highcharts.setOptions({
lang: {
downloadCSV: 'test'
}
});
chart.destroy();
Highcharts.chart('container', chartOptions);

最新更新