onEdgeLabelRendered 类型错误
Describe the bug
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
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.
Describe the bug
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;
看了一下这块的源码,这里的类型确实存在问题,不过不能改成这种形式:
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 两位是否有意愿帮忙优化一下这里的类型或者文档
🧑🏻💻 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 计划中,回复「收到」即可认领,过程中能有项目成员的一对一指导,并在合并之后获得官方的一些活动激励。
参考文档: