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(
       ……);
		})

    };
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐