ElemeFE/react-amap

组件的extData 在事件中取不到

Opened this issue · 2 comments

  • 我已经搜索过 issue,没有类似的问题,或者类似的问题仍然没有解决方案。
  • 我已经搜索过文档,并且仍然没有找到解决方案。
  • 我写了个问题重现的例子,链接或者代码将会贴在下面。

Reproduce Example Link or Code Fragment

在开发中,操作circle时需要当前对象的一些属性等,于是用到了extData 代码如下

<Circle
          extData={{ mykey: 'mykey' }}
          events={this.circleEvents}
          center={{ longitude, latitude }}
          radius={endDistance * 1000}
/>

this.circleEvents = {
      click: ({ type, target, lnglat }) => {
          // 这里需要获取到extData
         console.log(target.B.extData.mykey )
     },
};

开发完毕 上线了 然而一段时间迭代后 发现 target.B不存在,再次打印后发现extData放在target.Ce下了,请问这种情况 有什么办法根治呢

我做的项目昨天也出现了这个问题,我原本的是e.target.D.extData,现在就获取不到了,看返回结果要写成e.target.Ce.extData,改了这个地方以后点击又报Uncaught Invalid Object: Pixel(NaN, 0.5536250569814856),但是打印出来的确传了正确的经纬度,不知道你有遇到这种情况吗?

确实是有这个问题的,我也遇到了,目前看这个库已经没人维护了,那就筛选下吧从object中,判断下是否包含extData的属性

export function hasObjectKey(params: object) {
for (const key in params) {
const item = params[key];
if (Object.prototype.hasOwnProperty.call(item, 'extData')) {
return item;
}
}
}