В react-leaflet
я реализовал MapControl
, который содержит ползунок.
Но, перетаскивая это, также тащит карту. Как я могу отключить перетаскивание карты, когда я взаимодействую со своим MapControl
?
Мой контроль:
class MapDateSlider extends MapControl {
createLeafletElement(props) {
const control = L.control({ position: 'bottomleft' })
const jsx = (
<DateSlider {...props} />
)
control.onAdd = () => {
const div = L.DomUtil.create('div', '')
ReactDOM.render(jsx, div)
return div
}
return control
}
}
export default withLeaflet(MapDateSlider)
Вопрос очень похож на этот , но специфичен для буклета реакции, а не чистого листка.
Я пробовал добавлять события в элемент управления таким же образом, как добавляется onAdd
, например:
control.onMouseOver = () => {
console.log('mouseover')
props.leaflet.map.dragging.disable()
}
control.onMouseOut = () => {
console.log('mouseout')
props.leaflet.map.dragging.enable()
}
но они никогда не стреляют.