关于echarts图表大小自适应标签容器,以及页面切换后resize(窗口大小改变)再回到含有echarts图的页面,echarts图无法显示,直到再次触发resize的问题解决

本文主要是介绍关于echarts图表大小自适应标签容器,以及页面切换后resize(窗口大小改变)再回到含有echarts图的页面,echarts图无法显示,直到再次触发resize的问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.echarts实现大小自适应包含它的标签容器
实现方式:监听window上的resize事件,在事件中执行echarts自带的resize方法
首先包含echarts的容器应该有初始的宽高,否则echarts无法显示。第二,为了使窗口缩放时,容器也跟着缩放,包含echarts的标签的宽高应该设置为百分比的形式(或其他布局形式,不要直接都定死),一般宽度设置为百分比,高度可以固定。
举例:

<template><div class="echart"><div class="echart1"><div class="echart2"></div></div>
</template><script>
export default {mounted() {let container1 = document.querySelector(".echart1");let echart1= this.$echarts.init(container1);let container2 = document.querySelector(".echart2");let echart2 = this.$echarts.init(container2);echart1.setOption(Option);echart2.setOption(Option2);window.addEventListener("resize", function () {echart1.resize();echart2.resize();});},
};
</script><style>
.echart {width: 100%;height: 500px;display: flex;
}
.echart1,
.echart2 {width: 49%;/* flex: 1; */margin: 0 1%;box-shadow: 0 0 10px #aaa;
}
</style>

这里的option没有写出来,可以自己根据情况而定,另外这里是在vue文件中写的,如果是在原生中把标签样式和js分开写就行。
2.为什么页面切换后,如果触发了window.onresize(即页面大小发生了改变),再回到当前页,echarts图无法显示需要在本页面再触发一次resize(缩放下窗口)才能正常展示
官方文档指出:
在这里插入图片描述
这里虽然没有隐藏标签但是情况和这个类似,所以解决方案就是在进入页面时让其触发echarts的resize方法。
这里是在vue中,且使用了keep-alive保存了当前组件状态,所以是在activated中触发的(如果没有keep-alive包裹当前组件或路由,那么可以在vue生命周期函数,如mounted中让其执行。)
在这里插入图片描述
注意上面的echart1就需要在全局或者data中定义了,初始值可以设置为undefined或者null
补充:上面的方式可能不会生效,报‘resize is not defined’的错,
更改代码
在这里插入图片描述

这篇关于关于echarts图表大小自适应标签容器,以及页面切换后resize(窗口大小改变)再回到含有echarts图的页面,echarts图无法显示,直到再次触发resize的问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/671215

相关文章

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

C#高效实现在Word文档中自动化创建图表的可视化方案

《C#高效实现在Word文档中自动化创建图表的可视化方案》本文将深入探讨如何利用C#,结合一款功能强大的第三方库,实现在Word文档中自动化创建图表,为你的数据呈现和报告生成提供一套实用且高效的解决方... 目录Word文档图表自动化:为什么选择C#?从零开始:C#实现Word文档图表的基本步骤深度优化:C

Python容器转换与共有函数举例详解

《Python容器转换与共有函数举例详解》Python容器是Python编程语言中非常基础且重要的概念,它们提供了数据的存储和组织方式,下面:本文主要介绍Python容器转换与共有函数的相关资料,... 目录python容器转换与共有函数详解一、容器类型概览二、容器类型转换1. 基本容器转换2. 高级转换示

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3