是否有避免在Popup组件上使用autoClose属性的方法? 我想要这样的东西,但是react-leaflet中不存在autoClose属性。
<Marker position={coords}>
<Popup autoClose={false}>
Some text
</Popup>
</Marker>
答案 0 :(得分:3)
实际上,一些Leaflet Popup options没有通过Popup
库中的react-leaflet
组件props公开。
可以考虑使用以下解决方案来分配这些属性:
引入一个callback function以通过popup.leafletElement
访问Leaflet Popup:
<Popup ref={popupEl => this.assignPopupProperties(popupEl)}>
Melbourne
</Popup>
,然后直接更新 Leaflet Popup options:
assignPopupProperties(popup) {
popup.leafletElement.options.autoClose = false;
popup.leafletElement.options.closeOnClick = false;
}
这里是demo和source code
答案 1 :(得分:0)
我找到了方法。您必须同时设置属性autoClose和closePopupOnClick:
<Map center={position} zoom="12" closePopupOnClick={false}>
<Marker position={coords}>
<Popup autoClose={false}>
I'm a popup
</Popup>
</Marker>
</Map>