#highcharts #tooltip
Вопрос:
Я пытаюсь настроить динамическую ширину всплывающей подсказки в СТИЛИЗОВАННОМ РЕЖИМЕ.
Я пытаюсь написать оболочку всплывающей подсказки, но мне трудно понять, какую функцию я должен обернуть, может кто-нибудь посоветовать?
Ниже приведен пример такого подхода
H.wrap(H.Tooltip.prototype, 'theFunc', (p) => {
const label = this.label;
const width = this.chart.plotWidth < 300 ? 100 : 200;
label.css({width: width 'px'});
})
ОБНОВЛЕНИЕ:
Результат, который я получаю, когда useHTML имеет значение true
Ответ №1:
Вам не нужно обертывать какой-либо метод, этого достаточно, если вы используете formatter
функцию обратного вызова:
tooltip: {
useHTML: true,
formatter: function() {
const chart = this.series.chart;
const width = chart.plotWidth < 300 ? 100 : 200;
return '<div style="width:' width 'px">' this.y '</div>'
}
}
Живая демонстрация: http://jsfiddle.net/Черная метка/5kdonwbj/
Ссылка на API: https://api.highcharts.com/highcharts/tooltip.форматер
Комментарии:
1. Ценю вашу помощь, однако решение по какой-то причине не сработало для меня. Я просто получаю пустое поле в нашем проекте (добавлен скриншот в тексте вопроса)- интересно, может ли что-то еще повлиять на настройки всплывающих подсказок? для справки мы используем highcharts 8.2.2
2. Привет @Sabira, Решение также отлично работает в версии 8.2.2, пример: jsfiddle.net/BlackLabel/rkqvaf47 Не могли бы вы воспроизвести проблему в jsfiddle?
3. Здравствуйте, извините, это была ошибка css и не была связана с highcharts. Ценю вашу помощь!