Chartjs工具提示换行符

jcu*_*nod 26 javascript chart.js

是否有可能在chartjs工具提示中获得换行符?

tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>"
Run Code Online (Sandbox Code Playgroud)

我想用新行替换":".

我已经试过&#013;,\u000D,\n<br />无济于事.

更新:我已经更改了我现在接受的答案,chart.js即版本2.

Ale*_*lov 62

如果您使用的是2.0.0-beta2,则可以使用工具提示回调并返回字符串数组.

tooltips: {
    mode: 'single',
    callbacks: {
        afterBody: function(data) {
            var multistringText = ['first string'];
            // do some stuff
            multistringText.push('another string');

            return multistringText;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Jar*_*rvl 6

此时,无法在工具提示或轴标签上添加换行符.现在开发人员是讨论实施选项; 讨论可以找到允许换行轴标签(在github上发布).

  • 对于任何googlers,值得查看github链接; 有一些建议(所以可能是你的解决方案). (2认同)
  • 每行前面也会出现项目符号。这似乎更像是一种解决方法。 (2认同)

小智 5

您可以使用工具提示页脚回调,也不会为每个列表渲染彩色正方形。

tooltips: {
  callbacks: {
    label: function(tooltipItem, data) {
      let label = data.datasets[tooltipItem.datasetIndex].label;
      let value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
      return label + ': ' + value;
    },
    footer: function(tooltipItems, data) {
      return ['new line', 'another line'];
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


Tie*_* Do 5

实际上,所有工具提示回调都支持多行文本,您可以label照常使用回调。默认情况下,它将数据标签显示为工具提示文本。

引用文档

所有函数都必须返回一个字符串或字符串数​​组。字符串数组被视为多行文本。

示例代码:

tooltips: {
    callbacks: {
      label: (tooltipItem, data) => {
        if (tooltipItem.index % 2)
          return ['Item 1', 'Item 2', 'Item 3'];
        else
          return 'Single line';
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)


小智 5

这对我有用。只需返回一个字符串数组作为工具提示中的标签即可。

 tooltips: {
    callbacks: {
      label: function(tooltipItem, data) {
        let label = "Line 1";
        let label2 = "Line 2";
        return [label, label2];
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)