vue3+echart项目开发详情弹窗不显示echarts图表的问题解决办法

前言

开发vue3+echart项目的时候,图表一般在可视化大屏或者后台管理页面首页展示,很少放在列表详情页中展示,现在的需求就是要在弹窗详情页展示,按以往的写发现页面中的图表并没有加载出来,看了自己的代码写法,生成的图表的方法调用是在onMounted钩子函数中调用的,但是没有出来是怎么回事呢?

控制台显示错误如下:

在这里插入图片描述
Error: Initialize failed: invalid dom. 错误:初始化失败:无效dom。意思是dom没有渲染出来

解决关键点(nextTick)

nextTick 简单的说,nextTick 方法是在 Vue.js 中常见的一种异步更新 DOM 的机制。它的原理是利用 Js 的事件循环机制以及浏览器的渲染流程来实现延迟执行 DOM 更新操作。

它的出现主要是为了解决 Vue 的异步更新导致的 DOM 更新后的操作问题。

部分代码:

import {
    
    nextTick} from 'vue'
async function  handleDetail (data) {
    
    
  
  open.value = true  //打开弹窗
  isCheck.value = true  //是否是查看详情
 
  await nextTick(()=>{
    
    
    initChart()  //封装完echarts图表方法的调用
  })

}

页面效果:

在这里插入图片描述

总结:

vue 文档的方法平时要多了解,有些特殊的需求可能需要这些方法解决,nextTick完美解决此类问题

猜你喜欢

转载自blog.csdn.net/weixin_47389477/article/details/141953711