如何为 React Chart JS 中的点创建 OnClick 事件?

How to make OnClick events for points in a React Chart JS?

我发现这很有帮助 link https://jsfiddle.net/5rz5r9ag/12/ 它展示了如何使用常规图表 js 获取 onclick 事件。将其与 react chart js 一起使用的问题是我无法像他们在该示例中那样访问 myLineChart 对象,因为这不是您在 react 中制作折线图的方式。相反,我的反应目前在渲染函数中看起来更像这样:

return (
      <Line
      data={this.state.chartData}
      options={{
        onClick: function(evt) {
          var element = myLineChart.getElementAtEvent(evt);
          if(element.length > 0)
          {
            var ind = element[0]._index;
            if(confirm('Do you want to remove this point?')){
              data.datasets[0].data.splice(ind, 1);
              data.labels.splice(ind, 1);
              myLineChart.update(data);
              }
            }
        },
        ....
      />
);

我无法像在 jsfiddle 中那样访问 myLineChart in react,因此无法弄清楚如何为我的折线图中的点创建 onClickevent。

试试onClick的第二个参数:

return (
      <Line
      data={this.state.chartData}
      options={{
        onClick: function(evt, element) {
          if(element.length > 0)
          {
            var ind = element[0]._index;
            if(confirm('Do you want to remove this point?')){
              data.datasets[0].data.splice(ind, 1);
              data.labels.splice(ind, 1);
              myLineChart.update(data);
              }
            }
        },
        ....
      />
);

点击时的简单行:HERE