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 相关文章推荐
JS创建自定义表格具体实现
Feb 11 Javascript
JavaScript中对循环语句的优化技巧深入探讨
Jun 06 Javascript
一起学写js Calender日历控件
Apr 14 Javascript
Javascript小技能总结(推荐)
Jun 02 Javascript
request请求获取参数的实现方法(post和get两种方式)
Sep 27 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 Javascript
vue-scroller记录滚动位置的示例代码
Jan 17 Javascript
详解webpack 入门与解析
Apr 09 Javascript
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
JS实现页面数据懒加载
Feb 13 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 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对gzip文件或者字符串解压实例参考
2008/07/25 PHP
php设计模式 Strategy(策略模式)
2011/06/26 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
JSQL  一个 web DB 的封装
2010/05/05 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
进一步理解Python中的函数编程
2015/04/13 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
python 中如何获取列表的索引
2019/07/02 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
数据库方面面试题
2012/04/22 面试题
结构和类有什么异同
2012/07/16 面试题
财务经理岗位职责
2013/11/09 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
旅游市场营销方案
2014/03/09 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
家长对孩子的评语
2014/04/18 职场文书
求职自我推荐信
2014/06/25 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书