首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查chart.js的图表何时完全呈现在React中?

如何检查chart.js的图表何时完全呈现在React中?
EN

Stack Overflow用户
提问于 2022-09-01 13:11:55
回答 1查看 111关注 0票数 0

我希望显示图表图像,而不是反应图-2chart.js中的图表

但是,图像一开始从来没有完全呈现过。

代码语言:javascript
运行
复制
export function App() {
  const chartRef = useRef<ChartJS>(null);
  const [chartImg, setChartImg] = useState<string>();

  const ChartRef = () => <Chart ref={chartRef} type="line" data={data} />;
  useEffect(() => {
    const chart = chartRef.current;
    if (!chart) return;
    const img = chart.toBase64Image(); // just white background
    setChartImg(img);
  }, []);

  const showImage = useCallback(() => {
    const chart = chartRef.current;
    if (!chartRef.current) return;
    const img = chart.toBase64Image(); // Correct image is displayed
    setChartImg(img);
  }, []);
  return (
    <div>
      <ChartRef />
      <button type="button" onClick={showImage}>
        Display Image
      </button>
      <img src={chartImg} alt="here" />
    </div>
  );
}

在下面的代码(链接这里的密码箱)中,只有单击Display Image按钮才会显示图像。

我是否可以在useEffect上运行初始检查,并确保图像显示正确,而不是图表,而不必单击Display Image

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 13:36:06

这是因为您试图在完成ami、mations和绘图之前读取画布,您需要将动画设置为false或使用onAnimationComplete回调:

代码语言:javascript
运行
复制
options: {
  animations: false
}
代码语言:javascript
运行
复制
options: {
  animations: {
    onComplete: ({initial}) => {
      if (initial) savechart();
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73569943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档