工具提示backgroundColor取决于图表颜色ChartJS

时间:2019-03-01 12:58:20

标签: javascript chart.js chartjs-2.6.0

我将根据图表设置工具提示的背景颜色

这就是我的方式

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;
        }

但是我得到了错误

  

类型'((tooltipItem:ChartTooltipItem,图表:Chart)=>字符串')中缺少属性'setTransform',但是在'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颜色。 (我会得到一个颜色代码)

1 个答案:

答案 0 :(得分:0)

请勿将匿名方法分配给 backgroundColor 属性。在方法内编写条件,然后将颜色哈希码返回为字符串,然后从backgroundColor属性调用该方法。

例如,方法名称为x,它返回颜色代码。那么代码将为backgroundColor: x()