Highcharts工具提示:将换行符引入以逗号分隔的字符串中

时间:2019-01-08 16:54:24

标签: javascript angular highcharts

我有一个图表的工作实例,工具提示也显示得很好。这是我设置系列的方式以及该系列的工具提示:

data.aggCounts.forEach(function(point, i) {
  series[0].data.push({
    name: data.allDates[i],
    tooltipText: data.agSums[i][1],
    y: data.aggCounts[i]
  });
});
被馈送到data.agSums

tooltipText字符串看起来像这样:

"item 1: 0, item 2: 3, item 4: 2, ...."

我希望这些项目以新行显示,我尝试用/ n替换,但这是行不通的。因此,我介绍了一种格式化程序,该格式化程序似乎也不做任何事情:

tooltip: {
  pointFormat: '{point.tooltipText}',
    useHTML: true,
    formatter: function() {
    let text = this.point.tooltipText
    return text.replace(/,/g, "<br>")
  }
}

还有另一个选项可以使用原始数组,在该数组中数据是从中获取并放入字符串中的。该数组是给我的 highcharts 组件的数据对象@Input data的一部分,但是当我尝试访问选项中的数据时,它将引发以下错误:

@Input data;

const options: Highcharts.Options = {
  tooltip: {
    useHTML: true,
    formatter: function() {
      let data = this.data
      //the above line throws: "Potentially invalid reference access to a class field via 'this.' of a nested function", so I don't have access to the original array
    }
  }
}

是否知道如何访问格式化程序函数中的数据结构,如何使用<br>替换字符串中的所有逗号?

编辑:即使我访问格式化程序中的数据,也无法将其用于特定点,因为我可以访问组件级变量或图表实例var。例如 x y 点。如果没有其他唯一的选择是用换行符替换逗号,是否可以同时访问它们?

0 个答案:

没有答案