Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

组件的extData 在事件中取不到 #231

Open
2 of 3 tasks
nanianlisao opened this issue Jul 21, 2020 · 2 comments
Open
2 of 3 tasks

组件的extData 在事件中取不到 #231

nanianlisao opened this issue Jul 21, 2020 · 2 comments

Comments

@nanianlisao
Copy link

  • 我已经搜索过 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下了,请问这种情况 有什么办法根治呢

@yantyt2022
Copy link

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

@ZHENGGEGE
Copy link

确实是有这个问题的,我也遇到了,目前看这个库已经没人维护了,那就筛选下吧从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;
}
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants