当前位置: 首页 > web >正文

echarts报错问题initialize failed:invalid dom

 报错 Uncaught (in promise) Error: Initialize failed: invalid dom. 意思是初始化失败,DOM 无效 ,是因为 ECharts 尝试获取的 DOM 元素不存在

 

DOM 加载时机问题:

在 onMounted  钩子函数之外调用 document.getElementById  ,此时 Vue 组件可能还未完全渲染到 DOM 树中,对应的 pie - chart  元素还不存在,就去获取它,导致获取失败。

注意:echart一定要放在 onmounted里面!!

确保 DOM 元素存在:在 Vue 组件渲染过程中,模板中的 DOM 元素需要一定时间才能被真正创建并挂载到页面 DOM 树中。 echarts.init  方法需要传入一个已存在的 DOM 元素作为容器来初始化图表。如果在组件还未挂载完成时(即 DOM 元素还不存在 )就调用 echarts.init  ,会出现 Initialize failed: invalid dom.  这样的错误,导致图表无法正常初始化。而 onMounted  钩子函数会在组件挂载完成后被调用,此时组件内的 DOM 元素已创建好,能保证 document.getElementById  可以正确获取到对应的图表容器元素,进而顺利初始化 ECharts 图表。

在 Vue 组件中,onMounted 钩子函数确保组件挂载到 DOM 后执行代码。但如果 ECharts 初始化代码在 DOM 元素渲染前就执行,仍可能获取不到元素。你可以将 ECharts 初始化代码放在 onMounted 中

 如果 页面没有多个echarts图要绘制  要把newmychart注释掉 否则页面会获取不到这个错误

导致el-table没法显示

 

 // 基于准备好的dom,初始化echarts实例const myChart = echarts.init(document.getElementById('pie - chart'));//  const newMyChart = echarts.init(document.getElementById('new-pie - chart'));// 配置项const option = {title: {text: '国际社会对台支持情况',subtext: '',left: 'center'},tooltip: {trigger: 'item'},legend: {orient: 'vertical',left: 'left'},series: [{name: '比例',type: 'pie',radius: '50%',data: [{ value: 33.2, name: '支持' },{ value: 38.1, name: '中立' },{ value: 28.7, name: '反对' }],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]};// 使用刚指定的配置项和数据显示图表myChart.setOption(option);// newMyChart.setOption(option);

 

http://www.xdnf.cn/news/4311.html

相关文章:

  • AI技术下研发体系重构
  • Vue项目Git提交流程集成
  • Leetcode 刷题记录 07 —— 链表
  • excel表数据导入数据库
  • Selenium模拟人类,操作网页的行为(全)
  • Pointpillars(三)工程实践
  • 新手SEO基础操作入门精要
  • Java学习手册:Base64 编码概念和应用场景
  • 解锁创意显示,强力巨彩软模组引领柔性显示技术创新
  • 随机快速排序算法
  • GAN模型
  • 总结七种提示优化方案的核心实现流程
  • 第15章 Python数据类型详解之分解理解:基础数据类型常见易错点和性能优化篇
  • Visual Studio 快捷键更改和设置
  • 【C++游戏引擎开发】第30篇:物理引擎(Bullet)—软体动力学系统
  • Java开发 自定义注解(更新中)
  • MySQL 常用函数分类
  • 编程日志4.25
  • 十分钟了解 @MapperScan
  • 盛元广通动物表型分析数字管理平台
  • framebuffer框架与示例
  • 保障企业的数据安全需要做什么?
  • npm下载插件无法更新package.json和package-lock.json文件的解决办法
  • 脑机接口:从科幻到现实,它将如何改变医疗未来?
  • 岳冉RFID手持式读写器专业研发+模块定制双驱动
  • Dynadot专业版邮箱工具指南(一):创建并设置新邮箱
  • 使用 Python 监控系统资源
  • 高等数学第五章---定积分(§5.1定积分的概念、性质和应用)
  • ShardingJdbc-水平分库
  • tinyrenderer笔记(Phong光照模型)