react-baidu-map icon indicating copy to clipboard operation
react-baidu-map copied to clipboard

奇怪的lable不消失

Open jy1989 opened this issue 1 year ago • 3 comments

采用如下写法:

<Map ref={map} widget={['NavigationControl']} enableScrollWheelZoom={true} center={center} >
          //下面的marker和label都正常
          {
            marker && <React.Fragment>
              <Marker

                position={{ lat: marker.lat, lng: marker.lng }}
                onClick={({ type, target }) => {
                  setIsModalOpen(true)
                }}
              />
              <Label style={{ border: 1, padding: '5px' }} position={{ lat: marker.lat, lng: marker.lng }}>
                <p>{marker.name}</p>
              </Label>
            </React.Fragment>
          }
        //marker正常,label不正常
          {deviceHistories.map((item, index) => (
            <React.Fragment key={index + "history"}>
              <Marker
                key={index + "marker"}
                position={{ lat: item.lat, lng: item.lng }}
                icon={icon}
              />
              <Label
                key={index + "label"}
                position={{ lat: item.lat, lng: item.lng }}
              >
                <p>{item.createdAt}</p>
              </Label>
            </React.Fragment>
          ))}
......

deviceHistories数组一开始为空,赋值后也一切正常,但是当我清空deviceHistories的时候,marker会消失,但是label不消失,而且奇怪的是第一段的marker和label都正常, 第二段的label却消失不了。 试过写成两个循环,也是一样的效果

一开始devicehistories为空

image

赋值

image

清空 ,marker消失了,label还在

image

jy1989 avatar Apr 15 '24 08:04 jy1989

可以试一下 visiable props @jy1989

<Marker visiable={visiable}

jaywcjlove avatar Apr 15 '24 08:04 jaywcjlove

visiable={visiable}

@jaywcjlove 改成这样还是一样 十分神奇

 {
            
            deviceHistories.map((item, index) => (
              <React.Fragment key={index + "history"}>
                <Marker
                  key={index + "marker"}
                  position={{ lat: item.lat, lng: item.lng }}
                  icon={icon}
                />
                <Label
                  key={index + "label"}
                  position={{ lat: item.lat, lng: item.lng }}
                  visiable={deviceHistories.length > 0}
                >
                  <p>{item.createdAt}</p>
                </Label>
              </React.Fragment>
            ))}

jy1989 avatar Apr 15 '24 09:04 jy1989

不用label,用 CustomOverlay ,一切正常

jy1989 avatar Apr 15 '24 09:04 jy1989