javascript GeoJSON 'onClick'的React传单

hgncfbus  于 2022-10-30  发布在  Java
关注(0)|答案(2)|浏览(132)

GeoJSON组件似乎没有onClick处理程序(对于该组件是全局的)。如果添加onClick,它将工作,但TypeScript将触发错误。
样本代码:

import { GeoJSON } from "react-leaflet";
const MyComponent = () => (
    <GeoJSON
      key={id}
      onClick={console.log}
      data={geometry}
    />
)

同样的问题也适用于style,顺便说一下,似乎没有一种方法可以拥有全局样式。也许我应该使用ref?添加 Package 器div不起作用。
如何设置一个全局onClick处理程序到GeoJSON组件?
版本:react-leaflet@2.7.0

lymgl2op

lymgl2op1#

我一问出这个问题就找到了答案:它是小写的onclick,而不是onClick。这不是通常的onClick属性。
但是我找不到任何明确的文件。

b09cbbtk

b09cbbtk2#

您应该在“onEachFeature”函数中添加单击处理程序,并将其传递给组件上的prop:

function onEachFeature(feature, layer){
      if(feature.properties){
        layer.bindPopup("Your text or whatever")
      }
      layer.on({
          mouseover: onMouseOver,
          mouseout: onMouseOut,
        click: zoomToFeature
      });
    }

<GeoJSON data={points} pointToLayer={pointToLayer} pathOptions={markerStyles} onEachFeature={onEachFeature}

相关问题