echarts报错setOption should not be called during main process

问题描述

父组件传值给wordcloud组件渲染echarts,报错:setOption should not be called during main process.
从网上看了好多,有人说是重复渲染,要在setOptionclear一下,但是我用了这个方法无效

wordChart.clear();
wordChart.setOption();

原因是在渲染的时候,父组件的数据还没有传过来,导致echarts报错。

解决办法

设置延迟,等数据加载完毕后再渲染(延迟加在哪里都可以,只要先让数据从父组件传过来就好)

在onMounted阶段延迟渲染

setTimeout(()=>{
        draw()
      },500)

在渲染函数中延迟setOption的调用

const draw = () => {
      const wordChart = echarts.init(wordDom.value);
      window.onresize = () => {
        wordChart.resize();
      };
      setTimeout(()=>{
		wordChart.setOption(
       ……);
		})

    };

更多推荐

echarts报错`setOption` should not be called during main process