У меня есть рабочий экземпляр графика, и подсказка также отображается нормально. Вот как я настроил серию и всплывающую подсказку для серии:
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>")
}
}
Существует еще один вариант использования исходного массива, откуда данные берутся и помещаются в строку. Этот массив является частью объекта данных @Input data
, который передается моему компоненту highcharts , однако, когда я пытаюсь получить доступ к данным внутри параметров, он выдает эту ошибку:
@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 . Есть ли способ получить к ним доступ, если нет единственного другого варианта - заменить запятые на новую строку ...