vue弹窗里面使用echarts不显示的问题及解决

 更新时间:2023年01月23日 12:40:57   作者:呱呱•.•  
这篇文章主要介绍了vue弹窗里面使用echarts不显示的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前言

弹出层中插入echarts图表,没有报错,但是图表加载不出来

此弹出层没有用element 的dialog 对话框,用的自己封装的组件,但是出现的问题是一样的

原因分析

弹出层 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。

弹出层组件会监听 visible 的状态,当状态为 true 时,立刻触发 open 事件,但这个时候 弹出层 的内容还没有渲染。

因为 Vue 组件通过 $emit 触发的事件并不是异步执行的,而是同步执行。

解决方式

一、nextTick

      this.$nextTick(() => {
      //  执行echarts方法
        this.initEcharts()
      })

二、setInterval

 

 setInterval(() => {
        //  执行echarts方法
        this.initEcharts()
      }, 500);

弹出层组件和画图方法:

    <popup :tClick="retreatFromSave" :tBoot="organizationUp" tWidth='1080px'>  
      <div slot="main" class="teamwork-text-nr">
        <div class="line">实景图</div>
            <!-- 图表 -->
            <div id="sCharts" style="height: 500px;"></div>
          </div>
      <div slot="footer" style="text-align: right;padding-right: 30px;">
        <jurisbtn tFloat="none" :tClick="retreatFromSave" tName="关闭" type="primary"></jurisbtn>
      </div>
    </popup>
    //   图表
    initEcharts() {
      const myChart = this.$echarts.init(document.getElementById('sCharts'))
      const option = {
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross'
          }
        },
        xAxis: [
          {
            type: 'category',
            data: [
              '1月',
              '2月',
              '3月',
              '4月',
              '5月',
              '6月',
              '7月',
              '8月',
              '9月',
              '10月',
              '11月',
              '12月'
            ],
            axisPointer: {
              type: 'shadow'
            }
          }
        ],
        yAxis: [
          {
            type: 'value',
            name: '总体积',
            min: 0,
            max: 10,
            interval: 1,
            axisLabel: {
              formatter: '{value} m³'
            }
          },
          {
            type: 'value',
            name: '使用负荷',
            min: 0,
            max: 100,
            interval: 10,
            axisLabel: {
              formatter: '{value} %'
            }
          }
        ],
        series: [
          {
            name: '总体积',
            type: 'bar',
            data: [2.0, 4.9, 5.5, 2.2, 4.6, 6.7, 5.6, 6.2, 3.6, 2.0, 6.4, 3.3],
            itemStyle: {
              normal: {
                color: '#d0e17d'
              }
            }
          },
          {
            name: '使用负荷',
            type: 'line',
            yAxisIndex: 1,
            data: [100, 22, 33, 45, 63, 80, 20, 23, 23, 65, 12, 6.2],
            itemStyle: {
              normal: {
                color: '#898989'
              }
            }
          }
        ]
      }
      myChart.setOption(option);
    },

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue Echarts实现多功能图表绘制的示例详解

    Vue Echarts实现多功能图表绘制的示例详解

    作为前端人员,日常图表、报表、地图的接触可谓相当频繁,今天小编隆重退出前端框架之VUE结合百度echart实现中国地图+各种图表的展示与使用;作为“你值得拥有”专栏阶段性末篇,值得一看
    2023-02-02
  • vscode 开发Vue项目的方法步骤

    vscode 开发Vue项目的方法步骤

    这篇文章主要介绍了vscode 开发Vue项目的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Vue3组合式函数Composable实战ref和unref使用

    Vue3组合式函数Composable实战ref和unref使用

    这篇文章主要为大家介绍了Vue3组合式函数Composable实战ref和unref使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue如何解决sass-loader的版本过高导致的编译错误

    vue如何解决sass-loader的版本过高导致的编译错误

    这篇文章主要介绍了vue如何解决sass-loader的版本过高导致的编译错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 优化Vue中date format的性能详解

    优化Vue中date format的性能详解

    这篇文章主要介绍了优化Vue中date format的性能详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 通用vue组件化展示列表数据实例详解

    通用vue组件化展示列表数据实例详解

    组件化开发能大幅提高应用的开发效率、测试性、复用性等,下面这篇文章主要给大家介绍了关于通用vue组件化展示列表数据的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Vue组件通信的几种实现方法

    Vue组件通信的几种实现方法

    这篇文章主要介绍了Vue组件通信的几种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue实现引入本地json的方法分析

    vue实现引入本地json的方法分析

    这篇文章主要介绍了vue实现引入本地json的方法,结合实例形式分析了vue.js加载本地json文件及解析json数据相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Vue中实现在线画流程图的方法

    Vue中实现在线画流程图的方法

    最近在调研一些在线文档的实现,包括文档编辑器、在线思维导图、在线流程图等,本文分享在Vue框架下基于metaeditor-mxgraph实现在线流程图,感兴趣的朋友一起看看吧
    2024-07-07
  • 默认浏览器设置及vue自动打开页面的方法

    默认浏览器设置及vue自动打开页面的方法

    今天小编就为大家分享一篇默认浏览器设置及vue自动打开页面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论