Мне кажется, это хорошее применение для классического JS + CSS.
- Добавление
id="theChart"
к компоненту Pie
. - Добавление
id="theLegend"
к Legend
component. - Добавьте следующий CSS-проект (используя все, что лучше для вашего стека):
#theLegend { visibility: hidden }
, чтобы скрыть диаграмму при начальном рендеринге. - Затем из
componentDidMount
(и componentDidUpdate
при необходимости) вызвать функцию позиционирования.
Например:
figureChartPosition() {
const legHeight = gotComputedStyle(document.getElementById('theLegend')).height;
const chart = document.getElementById('theChart');
const yPos = ... do some calculation ...
chart.style.top = yPos;
chart.style.visibility = 'visible';
}
Выше приведено руководство.Я не знаю, как работает позиционирование в настоящее время, поэтому может иметь смысл манипулировать чем-то, кроме top
.Я бы использовал инструменты разработчика браузера, чтобы увидеть, как он в настоящее время устанавливается, и манипулировать тем же значением таким же образом, чтобы получить желаемое позиционирование.