Диаграмма JS Обновление подсказки программно в V2 - PullRequest
0 голосов
/ 19 апреля 2020

При обновлении диаграммы в JS она не обновляет всплывающие подсказки, которые были изменены путем изменения обратных вызовов. Как их можно изменить программно?

Например, вот код, который я использовал при настройке новой диаграммы:

tooltips: {
    intersect: false,
    callbacks: {
        title: function(tooltipItem, data) {
        //Return value for title
        return 'Second: ' + tooltipItem[0].xLabel;
    },
 label: function(tooltipItem, data) {
   var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || 'Other';
   var label = values[tooltipItem.index];
   return datasetLabel + ': ' + label+'%';
 }

}}

При обновлении диаграммы новыми данными теперь происходит то, что данные на диаграмме корректно обновляются, но значения всплывающей подсказки остаются такими же, как и с предыдущими данными. Так как эти метки всплывающих подсказок могут быть установлены программно?

Здесь очень похожий вопрос на V1 диаграммы JS, но я думаю, что это не помогает, поскольку "метки" (а не те из подсказок) изменено правильно с V2: Диаграмма JS: всплывающая подсказка об обновлении

1 Ответ

0 голосов
/ 21 апреля 2020

Я нашел ответ:

   var newTooltipConfig = {
       //mode: "dataset",
       intersect: false,
       callbacks: {
           title: function(tooltipItem, data) {
           //Return value for title
           return 'Second: ' + tooltipItem[0].xLabel;
       },
        label: function(tooltipItem, data) {
            var datasetLabel = data.datasets[tooltipItem.datasetIndex].label || 'Other';
            var label = values[tooltipItem.index];
            return datasetLabel + ': ' + label+'%';
    }
    }
    };
    linechart.options.tooltips = newTooltipConfig;
    linechart.update();
...