我有一个React
组件,我在其中映射了一些元素,对于每个元素,我返回一个由rect
表示的标记title
,并在{ {1}}。标记在svg
中正确显示,但当我将鼠标悬停在标记上时,工具提示不显示。
我的svg
或多或少具有以下结构:
svg
每个标记都是这样创建的,其中<svg>
<g>
{this.renderLines()}
{this.renderMarkers()}
</g>
</svg>
,key
,x
,y
和color
是一些参数:
name
如果我需要提供更多信息或代码,请与我们联系。
修改
所以,我发现问题所在,但不知道如何在不破坏代码的情况下解决问题。
该组件毕竟具有以下结构:
<rect key={key}
width='8px'
height='8px'
x={x}
y={y}
fill={color} >
<title>{name}</title>
</rect>
<svg>
<g>
{this.renderLines()}
{this.renderMarkers()}
</g>
<rect />
</svg>
通过rect
库获取缩放处理程序,以使图表具有缩放功能。问题是这个rect位于前台,因此标记的d3
事件不会被触发。
移动onHover
顶部的rect
缩放窗格解决了显示问题的工具提示,但当鼠标悬停在标记上时,缩放功能无效。它必须svg
标记才能生效。
答案 0 :(得分:0)
好吧,我终于解决了。这是我做的:
rect
成为svg
rect
作为回调将缩放功能附加到ref
标记