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 是唯一未翻译的内容。任何指导表示赞赏。

我正在使用

目前,您的代码执行的操作类似于此演示中所示: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);