Цвет фона всплывающей подсказки в зависимости от цвета графика ChartJS

Я бы установил цвет фона всплывающих подсказок в зависимости от графика

Вот как я сделал

tooltips: {
        yPadding: -2,
        xPadding: 10,
        footerMarginTop: 5,
        titleFontColor: '#FFF',
        displayColors: false,
        backgroundColor: function(tooltipItem: Chart.ChartTooltipItem, chart: Chart) {
            const bgColor = `${chart.config.data.datasets[tooltipItem.datasetIndex].pointBorderColor.toString()}`;
            return bgColor;
        }

Но я получаю ошибку

Свойство «setTransform» отсутствует в типе «(tooltipItem: ChartTooltipItem, диаграмма: Chart) => строка», но требуется в типе «CanvasPattern». [2322]

Я также должен сделать это в callbacks

callbacks: {
    labelColor: function(tooltipItem: Chart.ChartTooltipItem, chart: Chart) {
        const bgColor = `${chart.config.data.datasets[tooltipItem.datasetIndex].pointBorderColor.toString()}`;
        return {
            backgroundColor: bgColor,
            borderColor: ''
        };
    },
}

но цвет не применяется, я получаю черный цвет вместо pointBorderColor цвета, который не является черным. (я хорошо понимаю цветовой код)


person infodev    schedule 01.03.2019    source источник


Ответы (1)


Не назначайте анонимный метод свойству backgroundColor. напишите условия внутри метода и верните хэш-код цвета в виде строки и просто вызовите этот метод из свойства backgroundColor.

Например, имя метода — x, которое возвращает код цвета. тогда код будет backgroundColor: x()

person Nihar Sarkar    schedule 01.03.2019
comment
Я хотел сказать backgroundColor: this.getTooltipBgcolor(value), я получаю сообщение об ошибке Cannot find name 'value'.. Я написал backgoundColor сразу после элемента всплывающей подсказки, а не внутри обратных вызовов. - person infodev; 04.03.2019