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获取单选框或复选框值及操作
Dec 18 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
Aug 09 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
Jul 14 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
May 06 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
Javascript基础知识盲点总结之函数
May 15 Javascript
Bootstrap组合上、下拉框简单实现代码
Mar 06 Javascript
巧用weui.topTips验证数据的实例
Apr 17 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
js前端导出Excel的方法
Nov 01 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
Mar 07 Javascript
微信小程序—setTimeOut定时器的问题及解决
Jul 26 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之第二天
2006/10/09 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
js单例模式的两种方案
2013/10/22 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
jquery+php实现搜索框自动提示
2014/11/28 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
整理Python中的赋值运算符
2015/05/13 Python
Python使用爬虫猜密码
2016/02/19 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
python爬虫中多线程的使用详解
2019/09/23 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
酒店拾金不昧表扬信
2014/01/18 职场文书
自我反省检讨书
2014/01/23 职场文书
手机促销活动方案
2014/02/05 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang