Подсказка Highcharts: введение разрыва строки в строку с разделителями-запятыми - PullRequest
0 голосов
/ 08 января 2019

У меня есть рабочий экземпляр графика, и подсказка также отображается нормально. Вот как я настроил серию и всплывающую подсказку для серии:

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 . Есть ли способ получить к ним доступ, если нет единственного другого варианта - заменить запятые на новую строку ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...