vue中使用element ui的弹窗与echarts之间的问题详解


Posted in Javascript onOctober 25, 2019

今天项目中有个需求,就是在页面中点击一个图标,弹出一个抽屉式的弹窗(弹窗是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)
  }
}

这样防止dom没有渲染之前,数据先加载,主要是用了element ui弹窗的open方法,具体的为啥用这个方法,还需要研究下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS PropertyGrid中使用Combobox选择值问题
Jun 13 Javascript
javascript继承机制实例详解
Nov 20 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 Javascript
javascript实现验证IP地址等相关信息代码
May 10 Javascript
js中 计算两个日期间的工作日的简单实例
Aug 08 Javascript
基于vue2.0实现的级联选择器
Jun 09 Javascript
AngularJS中使用three.js的实例详解
Jul 21 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
Dec 09 Javascript
原生JS控制多个滚动条同步跟随滚动效果
Dec 22 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 Javascript
在博客园博文中添加自定义右键菜单的方法详解
Feb 05 Javascript
vue created钩子函数与mounted钩子函数的用法区别
Nov 05 Javascript
浅谈layui 表单元素的选中问题
Oct 25 #Javascript
layUI的验证码功能及校验实例
Oct 25 #Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 #Javascript
详解node登录接口之密码错误限制次数(含代码)
Oct 25 #Javascript
Vue 用Vant实现时间选择器的示例代码
Oct 25 #Javascript
vue登录以及权限验证相关的实现
Oct 25 #Javascript
vue-next/runtime-core 源码阅读指南详解
Oct 25 #Javascript
You might like
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
Prototype Hash对象 学习
2009/07/19 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
Python re模块介绍
2014/11/30 Python
python实现机器人行走效果
2018/01/29 Python
keras slice layer 层实现方式
2020/06/11 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
计算机应用专业毕业生求职信
2013/10/24 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
通信工程毕业生求职信
2013/11/16 职场文书
质检部职责
2013/12/28 职场文书
学生励志演讲稿
2014/01/06 职场文书
交通事故调解协议书
2014/04/16 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
创先争优承诺书
2015/01/20 职场文书
校园开放日新闻稿
2015/07/17 职场文书
大学校园招聘会感想
2015/08/10 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书