HighCharts menuItem 值未更新
HighCharts menuItem value not updated
当用户选择不同的语言时,我需要翻译我的图表。我有一个图表服务,它监听 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 是唯一未翻译的内容。任何指导表示赞赏。
我正在使用
- Angular 8
- "highcharts": "6.1.1"
- "highcharts-export-csv": "=1.4.8",
- "highcharts-pattern-fill": "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);
当用户选择不同的语言时,我需要翻译我的图表。我有一个图表服务,它监听 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 是唯一未翻译的内容。任何指导表示赞赏。
我正在使用
- Angular 8
- "highcharts": "6.1.1"
- "highcharts-export-csv": "=1.4.8",
- "highcharts-pattern-fill": "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);