VUE element 弹窗里面镶嵌echarth 不显示的问题

就是在页面中点击一个图标,弹出一个抽屉式的弹窗(弹窗是element UI的抽屉),弹窗里边是echarts呈现的数据,当我直接用echarts的时候,报错dom没有获取到;

这就陷入疑惑,平时都是这样获取的,怎么今天就不行了呢,搜索了很多答案之后才知道,在刚进入页面的时候抽屉是关闭的,那echarts不进行获取dom,当点击抽屉出来的时候,有个opened事件,在这个事件里边进行echarts的初始化,执行数据;

<el-drawer
      title="分析图表"
      :modal="false"
      :close-on-click-modal="false"
      :modal-append-to-body="false"
      size="600px"
      :visible.sync="dataVisible"
      @opened="opens"
    >
    <div ref="main" style="width: 100%;height:100%;"></div>
</el-drawer>

export default {
  data() {
    return {
      isColor: true,
      option1: {
        title: {
          text: '总资产占比分析',
          x: 'left'
        },
        tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
        },
        legend: {
          orient: 'vertical',
          right: '10%',
          top: '35%',
          data: ['A', 'B', 'C', 'D']
        },
        series: [
          {
            name: '访问来源',
            type: 'pie',
            radius: '70%',
            center: ['25%', '60%'],
            data: [
              { value: 335, name: 'A' },
              { value: 310, name: 'B' },
              { value: 234, name: 'C' },
              { value: 135, name: 'D' }
            ],
            label: {
              normal: {
                show: false,
                position: 'center'
              }
            }
          }
        ]
      },
}}
}
method:{
    opens(){
         this.$nextTick(() => {
            this.pie1()
      })
    },
    pie1(){
       this.$echarts.init(this.$refs.main).setOption(this.option1)
    }
}

转载:vue中,使用element ui的弹窗与echarts之间的问题

猜你喜欢

转载自blog.csdn.net/weixin_45663264/article/details/108624867