Chartjs 工具提示换行符
Chartjs Tooltip Line Breaks
是否可以在 chartjs 工具提示中换行?
tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>"
我想用新行替换“:”。
我试过 
、\u000D
、\n
和 <br />
都无济于事。
更新: 我已经更改了我接受的答案,因为 chart.js
是版本 2。
目前,无法向工具提示或轴标签添加换行符。现在开发人员正在讨论实施方案;可以找到讨论 Allow wrapping in axis labels (issue on github).
如果您使用的是 2.0.0-beta2,您可以在那里使用工具提示回调和 return 字符串数组。
tooltips: {
mode: 'single',
callbacks: {
afterBody: function(data) {
var multistringText = ['first string'];
// do some stuff
multistringText.push('another string');
return multistringText;
}
}
}
您可以使用工具提示页脚回调,它也不会为每个列表呈现彩色方块。
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'];
}
}
}
实际上所有工具提示回调都支持多行文本,您可以照常使用label
回调。它默认将数据标签呈现为工具提示文本。
All functions must return either a string or an array of strings. Arrays of strings are treated as multiple lines of text.
示例代码:
tooltips: {
callbacks: {
label: (tooltipItem, data) => {
if (tooltipItem.index % 2)
return ['Item 1', 'Item 2', 'Item 3'];
else
return 'Single line';
}
}
}
这对我有用。只是 return 一个字符串数组作为工具提示中的标签。
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
let label = "Line 1";
let label2 = "Line 2";
return [label, label2];
}
}
}
是否可以在 chartjs 工具提示中换行?
tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value %>"
我想用新行替换“:”。
我试过 
、\u000D
、\n
和 <br />
都无济于事。
更新: 我已经更改了我接受的答案,因为 chart.js
是版本 2。
目前,无法向工具提示或轴标签添加换行符。现在开发人员正在讨论实施方案;可以找到讨论 Allow wrapping in axis labels (issue on github).
如果您使用的是 2.0.0-beta2,您可以在那里使用工具提示回调和 return 字符串数组。
tooltips: {
mode: 'single',
callbacks: {
afterBody: function(data) {
var multistringText = ['first string'];
// do some stuff
multistringText.push('another string');
return multistringText;
}
}
}
您可以使用工具提示页脚回调,它也不会为每个列表呈现彩色方块。
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'];
}
}
}
实际上所有工具提示回调都支持多行文本,您可以照常使用label
回调。它默认将数据标签呈现为工具提示文本。
All functions must return either a string or an array of strings. Arrays of strings are treated as multiple lines of text.
示例代码:
tooltips: {
callbacks: {
label: (tooltipItem, data) => {
if (tooltipItem.index % 2)
return ['Item 1', 'Item 2', 'Item 3'];
else
return 'Single line';
}
}
}
这对我有用。只是 return 一个字符串数组作为工具提示中的标签。
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
let label = "Line 1";
let label2 = "Line 2";
return [label, label2];
}
}
}