解决 vue3 中 echarts图表在el-dialog中显示问题

原因:

第一次点开不显示图表,第二次点开虽然显示图表,但是图表挤在一起,页面检查发现宽高只有100px,但是明明已经设置样式宽高100%

这可能是由于 el-dialog 还没有完全渲染完成,而你的 echarts 组件已经开始尝试渲染图表了。你可以尝试使用 v-if 或者 v-show 来控制 echarts 组件的渲染时机,使其只在 el-dialog 完全渲染完成后才进行渲染(翻译过来就是加个定时器)。

解决:

javascript 复制代码
<ZyfChart v-if="echartsType"></ZyfChart> // 引用封装的Echarts组件时添加 v-if 判断
let echartsType = ref(false) // 初始设置为false
onMounted(() => {
    setTimeout(() => {
        echartsType.value = true
        // 添加setTimeout,设置echartsType 为true
    }, 100)
})
相关推荐
VOLUN9 分钟前
PageLayout布局组件封装技巧
前端·javascript·vue.js
掘金安东尼10 分钟前
React 的 use() API 或将取代 useContext
前端·javascript·react.js
anyup31 分钟前
🔥 🔥 为什么我建议你使用 uView Pro 来开发 uni-app 项目?
前端·vue.js·uni-app
蓝胖子的小叮当35 分钟前
JavaScript基础(十三)函数柯里化curry
前端·javascript
前端Hardy1 小时前
HTML&CSS:有趣的SVG路径动画效果
javascript·css
前端Hardy1 小时前
HTML&CSS:超酷炫的3D动态卡片
前端·javascript·css
江城开朗的豌豆2 小时前
我在项目中这样处理useEffect依赖引用类型,同事直呼内行
前端·javascript·react.js
听风的码2 小时前
Vue2封装Axios
开发语言·前端·javascript·vue.js
白嫖叫上我2 小时前
js如何循环HTMLCollection
javascript
cc_z2 小时前
vue代码优化
前端·vue.js