X6 icon indicating copy to clipboard operation
X6 copied to clipboard

onEdgeLabelRendered 类型错误

Open wsi18n opened this issue 10 months ago • 2 comments

Describe the bug

Image

should change to

onEdgeLabelRendered?: ((args: OnEdgeLabelRenderedArgs) => undefined | void);

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => undefined | ((args: OnEdgeLabelRenderedArgs) => void);

means

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => (undefined | ((args: OnEdgeLabelRenderedArgs) => void));

and

 onEdgeLabelRendered: (args) => (args2) => console.log(args);

not work

Your Example Website or App

any

Steps to Reproduce the Bug or Issue

none

Expected behavior

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => undefined | ((args: OnEdgeLabelRenderedArgs) => void);

=>

onEdgeLabelRendered?: ((args: OnEdgeLabelRenderedArgs) => undefined |  void);

Screenshots or Videos

No response

Platform

any

Additional context

No response

wsi18n avatar Feb 14 '25 02:02 wsi18n

👋 @wsi18n

Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. To help make it easier for us to investigate your issue, please follow the contributing guidelines. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.

x6-bot[bot] avatar Feb 14 '25 02:02 x6-bot[bot]

Describe the bug

Image

should change to

onEdgeLabelRendered?: ((args: OnEdgeLabelRenderedArgs) => undefined | void);
onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => undefined | ((args: OnEdgeLabelRenderedArgs) => void);

means

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => (undefined | ((args: OnEdgeLabelRenderedArgs) => void));

and

 onEdgeLabelRendered: (args) => (args2) => console.log(args);

not work

Your Example Website or App

any

Steps to Reproduce the Bug or Issue

none

Expected behavior

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => undefined | ((args: OnEdgeLabelRenderedArgs) => void);

=>

onEdgeLabelRendered?: ((args: OnEdgeLabelRenderedArgs) => undefined |  void);

Screenshots or Videos

No response

Platform

any

Additional context

No response

他这个函数错误地将返回值类型定义为 undefined。对不需要返回值的函数,应使用 void,我建议修改为:

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => void;

louhaojie99 avatar Feb 14 '25 06:02 louhaojie99

看了一下这块的源码,这里的类型确实存在问题,不过不能改成这种形式:

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => void;

or

onEdgeLabelRendered?: (args: OnEdgeLabelRenderedArgs) => void | undefined;

按照代码逻辑,这个回调函数是可以再返回一个回调函数的,返回的这个回调函数会在label被销毁时调用(类似useEffect的返回函数),可见这个PR的改动: https://github.com/antvis/X6/pull/4146/files

文档上关于这个api不是很清晰,没有把这部分内容描述出来 https://x6.antv.antgroup.com/api/mvc/view#onedgelabelrendered

@wsi18n @louhaojie99 两位是否有意愿帮忙优化一下这里的类型或者文档

q32757468 avatar Aug 12 '25 10:08 q32757468

🧑🏻‍💻 In order to ensure the better, healthy, and sustainable development of our open-source project, and to allow develops in the community who are interested in open source to easily get started and contribute, we have included this issue in the oscp program. You can claim it by replying with "claim." During the process, you will receive one-on-one guidance from project members, and after your contribution is merged, you will be eligible for some official activity incentives.

Reference document:


🧑🏻‍💻 为了让我们的开源项目能更好的、健康的可持续发展,也让社区对开源感兴趣的同学,能轻轻松松的入门和贡献,我们将这个 issue 纳入到 oscp 计划中,回复「收到」即可认领,过程中能有项目成员的一对一指导,并在合并之后获得官方的一些活动激励。

参考文档:

github-actions[bot] avatar Aug 13 '25 06:08 github-actions[bot]

🧑🏻‍💻为了确保我们的开源项目能够更好、更健康、更持续地发展,也为了让社区中对开源感兴趣的开发者能够轻松上手并做出贡献,我们将此问题纳入了计划oscp。您可以通过回复“claim”来认领。在此过程中,您将获得项目成员的一对一指导,并且在您的贡献被合并后,您将有资格获得一些官方的活动奖励。

参考文档:

🧑🏻‍💻为了让我们的开源项目能够更好的、健康的可持续发展,也让社区对开源感兴趣的同学,能轻松松的入门和贡献,我们将这个问题纳入到oscp计划中,回复「收到」即可认领,过程中能有项目成员的规范一指导,并在合并之后获得官方的一些活动。

参考文档:

收到

louhaojie99 avatar Aug 13 '25 10:08 louhaojie99