uni-app 中切换 Tab 时图表显示异常
1、 采用Vue开发,基于uni-app框架模板构建应用。
2、 ColorUI 是一款专注视觉呈现的小程序组件库,采用高饱和度、鲜明亮丽的色彩设计。
3、 因需实现图表统计的视觉效果,起初考虑使用百度图表,但为确保多端兼容性,最终选用uni-app生态中兼容性更佳的mpvue-echarts图表组件。
4、 在开发过程中,为满足多维度数据可视化需求,需集成多种统计图表。初期以为严格遵循文档说明即可顺利实现,但实际遇到一个关键问题:使用v-show指令后,对应DOM元素默认被设置为display: none。而业务场景中,有时需精确获取这类隐藏元素或其子元素的真实高度,用于布局计算、动画过渡等逻辑处理。然而,浏览器对display: none的元素及其后代节点完全不进行渲染,导致无法通过常规方式读取其真实尺寸。若未显式设定高度样式,即使内部包含丰富内容,该元素的高度仍会返回默认值(通常为100px),严重偏离实际预期,进而影响功能正确性与界面表现。
5、 在uni-app中,类似问题常由异步初始化引发。我的图表已完成初始化,但宽高仍不达标。反复排查后,尝试将v-show替换为功能相近的v-if指令,问题随即解决——图表渲染正常,尺寸完全符合预期。
