【发布时间】:2021-02-04 16:04:16
【问题描述】:
【问题讨论】:
标签: javascript highcharts highcharts-gantt
【问题讨论】:
标签: javascript highcharts highcharts-gantt
那是由默认的pointFormatter函数引起的:
if (!milestone) {
retVal += 'Start: ' + start + '<br/>';
retVal += 'End: ' + end + '<br/>';
} else {
retVal += start + '<br/>';
}
源码:https://github.com/highcharts/highcharts/blob/master/ts/Series/Gantt/GanttSeries.ts#L116
作为一种解决方案,您可以实现自己的pointFormatter,例如:
tooltip: {
pointFormatter: function() {
var point = this,
H = Highcharts,
series = point.series,
xAxis = series.xAxis,
startOfWeek = xAxis.options.startOfWeek,
formats = series.tooltipOptions.dateTimeLabelFormats,
tooltip = series.chart.tooltip,
ttOptions = series.tooltipOptions,
format = ttOptions.xDateFormat,
returnVal = '<b>' + (point.name || point.yCategory) + '</b>',
start,
end;
if (!format) {
format = H.splat(tooltip.getDateFormat(xAxis.closestPointRange, point.start, startOfWeek, formats))[0];
}
start = series.chart.time.dateFormat(format, point.start);
end = series.chart.time.dateFormat(format, point.end);
returnVal += '<br/>';
returnVal += 'A1: ' + start + '<br/>';
returnVal += 'A2: ' + end + '<br/>';
return returnVal;
}
}
现场演示: https://jsfiddle.net/BlackLabel/a839yLsd/
API 参考: https://api.highcharts.com/gantt/tooltip.pointFormatter
【讨论】:
point 转换为 Highcharts.GanttPointOptionsObject 才能访问 start 和 end 属性。