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验证表单第二部分
Nov 25 Javascript
JSON+HTML实现国家省市联动选择效果
May 18 Javascript
jQuery中removeAttr()方法用法实例
Jan 05 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
Sep 21 Javascript
原生js实现电商侧边导航效果
Jan 19 Javascript
jQuery获取table下某一行某一列的值实现代码
Apr 07 jQuery
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
Node.js 使用流实现读写同步边读边写功能
Sep 11 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
vue移动端监听滚动条高度的实现方法
Sep 03 Javascript
Vue中实现回车键切换焦点的方法
Feb 19 Javascript
Vue SPA 首屏优化方案
Feb 26 Vue.js
浅谈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
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
用django设置session过期时间的方法解析
2019/08/05 Python
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
一个C/C++编程面试题
2013/11/10 面试题
北大青鸟学生求职信
2013/09/24 职场文书
高中生活自我鉴定
2014/01/18 职场文书
校庆接待方案
2014/03/18 职场文书
公证委托书模板
2014/04/03 职场文书
初中英语演讲稿
2014/04/29 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
领导欢迎词范文
2015/01/26 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
商业计划书范文
2019/04/24 职场文书
利用python做表格数据处理
2021/04/13 Python