Javascript 为什么';难道每个散点在胜利图散点图上都有一个点击处理程序吗?
我正在使用Victory图表的第18版(npm包是Victory)。我已经创建了一个散点图,并试图将onClick事件传递到散点图上的每个点。但是,最多只有两个点(通常只有一个点)接收此onClick处理程序。点数并不重要-最多只有两个点接收onClick处理程序Javascript 为什么';难道每个散点在胜利图散点图上都有一个点击处理程序吗?,javascript,reactjs,victory-charts,Javascript,Reactjs,Victory Charts,我正在使用Victory图表的第18版(npm包是Victory)。我已经创建了一个散点图,并试图将onClick事件传递到散点图上的每个点。但是,最多只有两个点(通常只有一个点)接收此onClick处理程序。点数并不重要-最多只有两个点接收onClick处理程序 <VictoryGroup data={data}> <VictoryScatter
<VictoryGroup data={data}>
<VictoryScatter
size={6}
style={{
data: {
fill: d => {
if (d.fill) return d.fill
return isSomething(d) ? colors('green') : colors('red')
},
cursor: 'hand',
},
}}
events={[
{
target: 'data',
eventHandlers: {
onClick: (e, bubble) => {
DO SOMETHING AMAZING AND GROUDBREAKING
},
},
},
]}
/>
<VictoryVoronoiTooltip />
</VictoryGroup>
{
如果(d.fill)返回d.fill
返回内容(d)?颜色(“绿色”):颜色(“红色”)
},
光标:'手',
},
}}
事件={[
{
目标:“数据”,
事件处理程序:{
onClick:(e,气泡)=>{
做一些令人惊奇和沮丧的事情
},
},
},
]}
/>
我尝试过使用eventKey属性,但没有效果。无论如何,这并不重要,因为文档说明“如果没有指定eventKey,事件将附加到指定目标类型的所有元素”Victory charts在版本21上,但我试图避免更新,因为他们已经不推荐VoronoiTooltip。感谢您的帮助 仅供未来读者参考。这也是我的工作。我必须将
events
属性添加到VictoryGroup组件,而不是VictoryScatter,并指定一个childName
属性,该属性作为Object.keys(data)
FYI提供给未来的读者。这也是我的工作。我必须将events
属性添加到VictoryGroup组件,而不是VictoryScatter,并指定一个childName
属性,该属性作为Object.keys(data)