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

Jos*_*gal 2 javascript charts reactjs react-chartjs

我发现这个有用的链接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);
              }
            }
        },
        ....
      />
);
Run Code Online (Sandbox Code Playgroud)

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

Bab*_*obi 6

尝试 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);
              }
            }
        },
        ....
      />
);
Run Code Online (Sandbox Code Playgroud)

简单的线路点击:这里

  • 这不适用于多个数据集。 (2认同)