-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[v5]怎么在鼠标事件中,判断事件源是哪个子shape呢? #5619
Comments
目前为了简化操作,所以对事件进行了封装,将 target 替换为了对应的元素。这边是什么场景需要获取子 shape 呢,如果确实有需求,后面可以将其加到事件参数中 G6/packages/g6/src/runtime/behavior.ts Line 62 in 84074e6
|
好的,谢谢。个人感觉场景还是挺多的,比如点击图元上的子图形进行createEdge;再比如图元上渲染了一些图标或按钮,希望点击不同的子图形会有些不同的响应; |
那我后面把这个加上 |
这个可以提高很大的灵活性,万分感谢 |
@Aarebecca beta.32中,似乎只有click事件能通过originalTarget判定事件源是哪个子shape;其他的事件,比如drag-start、drag...,事件参数中target和originalTarget都是图元而不是shape |
@Aarebecca drag事件无法获取具体子shape,此问题可以跟进一下吗? |
我的实现方式是结合三个事件: |
是g-plugin-dragndrop的问题,通过父节点dispatchEvent获取不到具体子shape。 |
等待官方处理 @Aarebecca |
还是同样的问题,class为key是根节点图形是可以获取到,例如拖拽节点需要获取port子图形禁止拖拽,完成连线功能。 |
能不能提供获取元素实例的API呢。有些场景需要访问到实例.感谢! |
event中好像有context可以得到graph实例,然后用graph实例就可以拿到相关的元素了 |
我想的是通过唯一标识取拿到这个元素的实例。 目前可以拿到实例的只有内部事件的回调函数中参数event才可以。 貌似目前没有找到相关方法。 我记得源码内部有个getElement 这个方法可以获取吧。明天再看一下。 |
有没有解决? |
拿到了。通过context中element 控制器中的getElement 方法可以获取,参数是你要查询的元素id |
问题描述
v4记得是可以的,v5事件回调的参数中没发现相关的属性呢
重现链接
无
重现步骤
无
预期行为
可以获取事件源是哪个shape
平台
屏幕截图或视频(可选)
No response
补充说明(可选)
No response
The text was updated successfully, but these errors were encountered: