Как избежать autoClose в компоненте Popup? - PullRequest
0 голосов
/ 21 ноября 2018

Есть ли способ избежать свойства autoClose для компонента Popup?Я хотел бы что-то вроде этого, но autoClose prop не существует в реакционной брошюре.

<Marker position={coords}>
  <Popup autoClose={false}>
    Some text
  </Popup>
</Marker>

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Действительно, некоторые опции Leaflet Popup не доступны через Popup компонентные реквизиты в библиотеке react-leaflet.

Можно рассмотреть следующее решение для назначения этих свойств:

Ввести функцию обратного вызова для доступа к Leaflet Popup через popup.leafletElement:

<Popup ref={popupEl => this.assignPopupProperties(popupEl)}>
        Melbourne
</Popup>

и затем обновите напрямую Параметры всплывающих листовок :

assignPopupProperties(popup) {
   popup.leafletElement.options.autoClose = false;
   popup.leafletElement.options.closeOnClick = false;
}

Вот демо и исходный код

0 голосов
/ 23 ноября 2018

Я нашел способ сделать это.Вы должны установить оба свойства autoClose и closePopupOnClick:

<Map center={position} zoom="12" closePopupOnClick={false}>
  <Marker position={coords}>
    <Popup autoClose={false}>
      I'm a popup
    </Popup>
  </Marker>
</Map>
...