Я пытался понять эту проблему и думаю, что это может быть связано с проблемой 4991 , но она должна была быть исправлена.
Я вижу, что мой label
обратный вызов вызывается всякий раз, когда запускается событие зависания, но на графике ничего не отображается. Я также знаю, что обратный вызов возвращает правильное значение для метки всплывающей подсказки.
Всплывающие подсказки работали, когда я использовал набор данных c stati. Но теперь, когда я позволяю пользователю выбирать данные, которые они сравнивают, с помощью пары элементов <select>
, и мне пришлось ввести функцию update()
, всплывающие подсказки полностью перестали работать.
My ChartConfiguration
const chartConfig = {
type: "scatter",
options: {
legend: { display: false },
title: {
display: true,
},
responsive: true,
tooltips: {
enabled: true,
intersect: true,
mode: 'nearest',
position: 'nearest',
callbacks: {
label: (tooltipItem, data) => {
const dataPoint = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
return dataPoint.t as string;
},
},
},
scales: {
xAxes: [
{
type: "linear",
position: "bottom",
scaleLabel: {
display: true,
}
},
],
yAxes: [
{
type: "linear",
position: "left",
scaleLabel: {
display: true,
}
},
],
},
},
};
Функция, вызываемая раньше update()
function update() {
let chartData = {
datasets: [
{
label: `${Config.axisTitles[xSelect.value]} vs ${Config.axisTitles[ySelect.value]}`,
data: (Config.data).map((row) => ({
y: row[ySelect.value],
x: row[xSelect.value],
t: row.shortname,
})),
},
],
};
chart.data = chartData;
chart.options.title.text = `${Config.axisTitles[xSelect.value]} vs ${Config.axisTitles[ySelect.value]}`;
chart.options.scales.xAxes[0].scaleLabel.labelString = Config.axisTitles[xSelect.value];
chart.options.scales.yAxes[0].scaleLabel.labelString = Config.axisTitles[ySelect.value];
chart.update();
}
Есть ли что-нибудь особенное, что я должен сделать, чтобы не нарушить всплывающие подсказки?