vue中使用element ui的弹窗与echarts之间的问题详解
2019-11-01 07:06
2421 查看
今天项目中有个需求,就是在页面中点击一个图标,弹出一个抽屉式的弹窗(弹窗是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方法,具体的为啥用这个方法,还需要研究下
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- vue弹窗里面使用echarts不显示的问题
- 详解vue 组件之间使用eventbus传值
- 详解vue文件中使用echarts.js的两种方式
- vue项目中使用echarts 遇到问题总结2
- 在vue中使用echarts图表实例代码详解
- vue使用代理解决请求跨域问题详解
- Vue配合echarts 一起使用的出现的问题:(echart无法显示出来)
- vue使用echarts出现tab切换宽度变窄问题
- vue使用axios跨域请求数据问题详解
- vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
- vue.js如何将echarts封装为组件一键使用详解
- vue在使用ECharts时的异步更新和数据加载详解
- vue使用axios时关于this的指向问题详解
- 详解Vue中使用Echarts的两种方式
- 详解如何解决Vue和vue-template-compiler版本之间的问题
- 详解Vue-cli3.X使用px2rem遇到的问题
- 使用Vue开发动态刷新Echarts组件的教程详解
- 详解Vue 开发模式下使用nodejs解决跨域问题
- vue项目中使用echarts 遇到问题总结
- 花生壳使用及域名映射等问题详解!