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 相关文章推荐
给moz-firefox下添加IE方法和属性
Apr 10 Javascript
JavaScript 新手24条实用建议[TUTS+]
Jun 21 Javascript
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
Dec 17 Javascript
js data日期初始化的5种方法
Dec 29 Javascript
jquery自动将form表单封装成json的具体实现
Mar 17 Javascript
javascript控制层显示或隐藏的方法
Jul 22 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 Javascript
详解如何用VUE写一个多用模态框组件模版
Sep 27 Javascript
详细分析vue响应式原理
Jun 22 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
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
Python实用日期时间处理方法汇总
2015/05/09 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
详解python中的 is 操作符
2017/12/26 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
人力资源管理毕业求职信
2014/08/05 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
优质护理心得体会
2016/01/22 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript
解决WINDOWS电脑开机后桌面没有任何图标
2022/04/09 数码科技