javascript - 访问React中的chart.js组件实例

标签 javascript reactjs typescript chart.js

我使用<Bar data={data} options={options}><Bar/>用于渲染。在选项对象中,我设置了图例 onClick 函数,但无法访问图表实例。我应该访问实例,因为应该访问图表 getDatasetMeta() 方法。遵循文档中的说明: https://www.chartjs.org/docs/2.9.3/configuration/legend.html

function(e, legendItem) {
    var index = legendItem.datasetIndex;
    var ci = this.chart;
    var meta = ci.getDatasetMeta(index);

    // See controller.isDatasetVisible comment
    meta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;

    // We hid a dataset ... rerender the chart
    ci.update();
}

请告知是否有一种方法可以访问 Bar 的实例,而不是像这个 new Bar () 那样手动创建它。

示例:

function options() => ({
 legend: {
  onClick: function (e, legendItem){
   //Here I would like to set legend hidden  and some other things
  }
 }
});

class Component extends React.Component {
  render() {
    return <Bar data={data()} options={options()}><Bar/>
  }
}

最佳答案

根据包装器中的此问题,您可以在栏组件上放置一个引用,这就是图表实例 https://github.com/reactchartjs/react-chartjs-2/issues/3

<div className={classes.chartContainer}>
          <Line
            ref={myChartRef}
            data={chartData}
            options={options}
          />
        </div>

 const myChartRef = React.createRef();
  const handleResetZoom = () => {
    let chart = myChartRef.current.chartInstance;
    chart.resetZoom();
  };

关于javascript - 访问React中的chart.js组件实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66902725/

相关文章:

java - 如何将 json 对象从 Angular 发送到 Rest 服务?

google-maps - ionic 2 打开谷歌地图,包含 2 个位置的方向

javascript - Reduce 函数上的几个 Typescript(不可分配给类型参数)错误

javascript - 我如何找到哪个 JavaScript 正在改变元素的样式?

javascript - 无法阻止提交的表单刷新页面

javascript - 找不到模块 : Error: Can't resolve '@mui/icons-material/Menu' in 'D:\

javascript - 如何避免在 konva 中捕捉期间矩形宽度或高度意外增长

javascript - JavaScript 中的 $get 和 $find 有什么区别?

javascript - 如何使用原型(prototype)模式制作一个 html5 矩形以供重用

Javascript "export default"到同一文件中的类