-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
5.0 label无法监听事件 #6004
Comments
这个确实是一个问题,方便提一个 PR 来修复一下吗? |
这里为什么限制事件响应?后续每次发现无法响应的node,都需要加个判断。 |
另外 Lines 133 to 139 in 7792a37
Advance 创建的text,故意pass了classname,会导致无法直接对text监听。是考虑到Advance是一个整体,只能对整体操作么? |
因为 chart.on 不全是透传事件,有些事件需要提供额外数据: chart.on("label:click", e => console.log(e.data.data)) 当然目前代码确实有问题,是可以透传剩余事件的,更好的写法如下: if (maybeElementRoot(target)) {
//...
} else if (maybeComponentRoot(target)) {
// ...
} else if (maybeLabelRoot(target)) {
// ...
} else {
emitter.emit(`${className}:${eventType}`, e1);
}
你可以通过 event.target 拿到 Advance 对象,然后通过 Advance 拿到内部的元素,然后操作。 |
问题描述
使用监听无法监听label
查看源码发现在事件处理时只会处理 component、element 类型的node,label生成的node根结点不在可响应的类型中。
G2/src/interaction/event.ts
Lines 51 to 57 in ae4ab58
重现链接
https://codesandbox.io/p/sandbox/g2-label-click-thtzjq
重现步骤
1、点击“转换率”文字
2、控制台不会输出"点击了"
预期行为
可以监听label的事件
平台
屏幕截图或视频(可选)
No response
补充说明(可选)
No response
The text was updated successfully, but these errors were encountered: