首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在单击新的宣传页后清除以前的宣传页

如何在单击新的宣传页后清除以前的宣传页
EN

Stack Overflow用户
提问于 2021-01-21 20:49:09
回答 2查看 220关注 0票数 0

当使用鼠标点击新区域时,我尝试删除图层的选择。

因此,在图层上有非lick功能

代码语言:javascript
复制
  layer.on({
    click: (event) => {
      event.target.setStyle({
        color: "black",
        weight: 1.5,
      });
    },
  });

当我点击新的区域,我只得到2个这样的边界区域,但只需要选择一个新的,并删除以前的。有人能帮上忙吗?

下面是我如何使用geoJSON的代码

代码语言:javascript
复制
<MapContainer center={getCenter()} zoom={getZoom()}>
    <GeoJSON
        ref={geoJSON}
        center={getCenter()}
        zoom={getZoom()}
        style={setColor}
        data={germanyDis}
        onEachFeature={onEachArea}
    />
</MapContainer>

下面是我的onEachArea函数

代码语言:javascript
复制
const onEachArea = (area, layer) => {
      layer.on({
        click: (event) => {
          event.target.setStyle({
            color: "black",
            weight: 1.5,
          });
          event.target.bringToFront();
   
        },
      });
EN

回答 2

Stack Overflow用户

发布于 2021-01-21 21:00:21

当您通过L.geoJsonstyle函数添加层时,您只需在单击事件中调用geojson组geojsonGroup.resetStyle()

代码语言:javascript
复制
layer.on({
    click: (event) => {
      geojsonGroup.resetStyle()
      event.target.setStyle({
        color: "black",
        weight: 1.5,
      });
    },
  });
票数 0
EN

Stack Overflow用户

发布于 2021-01-22 17:24:51

所以修复了这个问题。创建了一个usePrevious挂钩来存储先前的目标值,并在useEffect挂钩中使用它

代码语言:javascript
复制
 const [selectedFeature, setSelectedFeature] = useState(null);
 const previousFeature = usePrevious(selectedFeature);

  useEffect(() => {
    if (previousFeature) {
      previousFeature.setStyle({ color: "transparent", weight: 0 });
    }
  }, [selectedFeature]);

在onEachFeature函数中,只需设置当前值

代码语言:javascript
复制
const onEachArea = (area, layer) => {
      layer.on({
        click: (event) => {
          event.target.setStyle({
            color: "black",
            weight: 1.5,
          });
          event.target.bringToFront();

          setSelectedFeature(event.target);

        },
      });
    }
  };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65827795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档