1、描述

这是一个动态绘制echarts的弹窗子页面。

父页面有很多功能属性,在点击每个功能属性时进行弹窗,然后根据配置动态绘制各功能属性的echarts类型及数据展示。

第一次打开弹窗echarts正常显示,但是关闭后重新打开就显示空白。

echarts绘制的页面dom代码如下

<div class="contentBody fl">
      <div class="echartsBody" id="echartsBody"></div>
</div>

2、解决方案

首先,可以确定的是每次打开该弹窗代码能走通,从echarts数据传递到获取echarts绘制指定dom再到echarts.setOption(option, true);都没问题。

尝试过网上很多方法,有把setOption第二个参数设置成true的,有把div中_echarts_instance_属性删除的,但是都没有用。这边的做法是动态删除dom然后创建dom,dom渲染完成后再进行其他操作。

$(".contentBody")
.find(".echartsBody")
.remove()
.end()
.append(
"<div class='echartsBody' id='echartsBody' style='height:440px'></div>"
);
 this.$nextTick(() => {
     ...
 })