经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Echarts » 查看文章
vue中使用element ui的弹窗与echarts之间的问题详解
来源:jb51  时间:2019/10/25 13:10:30  对本文有异议

今天项目中有个需求,就是在页面中点击一个图标,弹出一个抽屉式的弹窗(弹窗是element UI的抽屉),弹窗里边是echarts呈现的数据,当我直接用echarts的时候,报错dom没有获取到;

这就陷入疑惑,平时都是这样获取的,怎么今天就不行了呢,搜索了很多答案之后才知道,在刚进入页面的时候抽屉是关闭的,那echarts不进行获取dom,当点击抽屉出来的时候,有个opened事件,在这个事件里边进行echarts的初始化,执行数据;

  1. <el-drawer
  2. title="分析图表"
  3. :modal="false"
  4. :close-on-click-modal="false"
  5. :modal-append-to-body="false"
  6. size="600px"
  7. :visible.sync="dataVisible"
  8. @opened="opens"
  9. >
  10. <div ref="main" style="width: 100%;height:100%;"></div>
  11. </el-drawer>
  12.  
  13. export default {
  14. data() {
  15. return {
  16. isColor: true,
  17. option1: {
  18. title: {
  19. text: '总资产占比分析',
  20. x: 'left'
  21. },
  22. tooltip: {
  23. trigger: 'item',
  24. formatter: '{a} <br/>{b} : {c} ({d}%)'
  25. },
  26. legend: {
  27. orient: 'vertical',
  28. right: '10%',
  29. top: '35%',
  30. data: ['A', 'B', 'C', 'D']
  31. },
  32. series: [
  33. {
  34. name: '访问来源',
  35. type: 'pie',
  36. radius: '70%',
  37. center: ['25%', '60%'],
  38. data: [
  39. { value: 335, name: 'A' },
  40. { value: 310, name: 'B' },
  41. { value: 234, name: 'C' },
  42. { value: 135, name: 'D' }
  43. ],
  44. label: {
  45. normal: {
  46. show: false,
  47. position: 'center'
  48. }
  49. }
  50. }
  51. ]
  52. },
  53. }}
  54. }
  55. method:{
  56. opens(){
  57. this.$nextTick(() => {
  58. this.pie1()
  59. })
  60. },
  61. pie1(){
  62. this.$echarts.init(this.$refs.main).setOption(this.option1)
  63. }
  64. }
  65.  

这样防止dom没有渲染之前,数据先加载,主要是用了element ui弹窗的open方法,具体的为啥用这个方法,还需要研究下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号