Создать Popup, программно заполненный компонентом - PullRequest
0 голосов
/ 12 июня 2018

Из-за требований проекта я не могу использовать компонент Map при рендеринге, вместо этого я использую <div id="map"/>, который я могу создать на карте.

Я не знаю, как можно программно добавить Popup к нему с помощью пользовательского компонента.

Я знаю, что могу перейти:

 this.popup.setLatLng(latLng);
 this.popup.setContent("<div>Simple content</div>");
 this.popup.openOn(map);

Но этоне позволяет мне устанавливать пользовательский компонент с жизненным циклом React.

Мне удалось увидеть всплывающее окно при использовании:

<Popup position={this.state.position} key={this.state.key}>
    <MyChartComponent/>
</Popup>

Есть ли способ, которым я могу архивировать это программно?

1 Ответ

0 голосов
/ 13 июня 2018

Мне удалось достичь того, что я хотел, используя render из react-dom, например:

this.popup.setContent('');
this.popup.setLatLng(latlng);

if (!this.popup.isOpen()) {
    this.popup.openOn(map);
    render(<MyChartComponent />, this.popup._contentNode);
}
...