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 相关文章推荐
javascript 兼容鼠标滚轮事件
Apr 07 Javascript
JavaScript 三种创建对象的方法
Oct 16 Javascript
利用js获取服务器时间的两个简单方法
Jan 08 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 Javascript
javascript css红色经典选项卡效果实现代码
May 17 Javascript
浅析Javascript的自动分号插入(ASI)机制
Sep 29 Javascript
js图片延迟加载(Lazyload)三种实现方式
Mar 01 Javascript
详解vue引入子组件方法
Feb 12 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 15 Javascript
解决vue初始化项目一直停在downloading template的问题
Nov 09 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中调用JAVA
2006/10/09 PHP
使用PHP制作新闻系统的思路
2006/10/09 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
JavaScript效率调优经验
2009/06/04 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
js 通用订单代码
2013/12/23 Javascript
js脚本实现数据去重
2014/11/27 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
Linux下python3.7.0安装教程
2018/07/30 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
营销与策划应届生求职信
2013/11/04 职场文书
个性婚礼策划方案
2014/05/17 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
低碳环保标语
2014/06/12 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
政协会议宣传标语
2014/10/09 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
公司年夜饭通知
2015/04/25 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书