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 相关文章推荐
jquery 图片 上一张 下一张 链接效果(续篇)
Apr 20 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
Feb 26 Javascript
JQuery实现图片轮播效果
Sep 15 Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 Javascript
原生JS轮播图插件
Feb 09 Javascript
js实现模糊匹配功能
Feb 15 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
Apr 12 Javascript
微信小程序实现的一键连接wifi功能示例
Apr 24 Javascript
layer ui 导入文件之前传入数据的实例
Sep 23 Javascript
JS中FileReader类实现文件上传及时预览功能
Mar 27 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数组操作――获取数组最后一个值的方法
2015/04/14 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP运行模式汇总
2016/11/06 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP实现添加购物车功能
2017/03/06 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
js下载文件并修改文件名
2017/05/08 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
python函数的5种参数详解
2017/02/24 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python梯度下降法的简单示例
2018/08/31 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
佳能法国商店:Canon法国
2019/02/14 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
公司聘任书模板
2014/03/29 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书