echarts图表用key强制刷新后空白

news2025/2/25 15:47:42

我的需求是echarts图表全屏后退出全屏在edge浏览器上没有什么问题但是在Chrome浏览器上会出现表格的线不能变回原来的比例的问题

 我就想在退出全屏的时候强制刷新一下echarts图表外面的这个div

useEffect(() => {
    if (col) {
      col.addEventListener("webkitfullscreenchange", escFunction); /* Chrome, Safari and Opera */
      col.addEventListener("mozfullscreenchange", escFunction); /* Firefox */
      col.addEventListener("fullscreenchange", escFunction); /* Standard syntax */
      col.addEventListener("msfullscreenchange", escFunction); /* IE / Edge */
      return () => {
        //销毁时清除监听
        col.removeEventListener("webkitfullscreenchange", escFunction);
        col.removeEventListener("mozfullscreenchange", escFunction);
        col.removeEventListener("fullscreenchange", escFunction);
        col.removeEventListener("MSFullscreenChange", escFunction);
      }
    }
    // 监听退出全屏事件 --- chrome 用 esc 退出全屏并不会触发 keyup 事件
  },);
  const escFunction = () => {
    setIsFullScreen(!isFullScreen)
    if (!isFullScreen) {
      console.log('退出全屏')
      div.style.height = '250px'//图表容器
      tag.style.display = 'block'
      setNum(Math.random())
    }
  }

但是这样刷新完了之后数据会全部消失不变看了一下echarts的文档,每次图表的容器变化后都要用resize()方法重构一下图表,因为还有要动态更新的数据我就写了一个useEffect()钩子函数用来刷新数据和重构图表当num或者data变化的时候就会刷新数据并重构图表

 useEffect(() => {
    var roseCharts = document.getElementsByClassName("roseChart___TFZ37");
    // console.log(data)
    if (data) {
    
        var myChart = echarts.init(roseCharts);
        myChart.setOption(options,true);
        window.addEventListener("resize", function () {
          myChart.resize();
        });
      }
    }

  }, [data,num])

echarts官网关于resize()的介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1477649.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统安装TortoiseSVN并结合内网穿透实现远程访问本地服务器——“cpolar内网穿透”

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用…

Node.js基础---npm与包

包 概念:Node.js 中的第三方模块又叫做包 来源:由第三方个人或团队开发出来的,免费使用,且为开源 为什么需要:Node.js的内置模块只有一些底层API,开发效率低 包是基于内置模块封装出来的,提供更…

express+mysql+vue,从零搭建一个商城管理系统6--数据校验和登录

提示:学习express,搭建管理系统 文章目录 前言一、修改models/user.js二、修改routes下的user.js三、Api新建user/login接口四、删除数据库原有数据,添加新验证规则的用户四、用户登录总结 前言 需求:主要学习express,…

IP源防攻击IPSG(IP Source Guard)

IP源防攻击IPSG(IP Source Guard)是一种基于二层接口的源IP地址过滤技术,它能够防止恶意主机伪造合法主机的IP地址来仿冒合法主机,还能确保非授权主机不能通过自己指定IP地址的方式来访问网络或攻击网络。 2.1 IPSG基本原理 绑定…

c# 广度优先搜索(Breadth-First Search,BFS)

在这篇文章中我将讨论用于树和图的两种遍历机制之一。将使用 C# 示例介绍广度优先搜索 (BFS)。图是最具挑战性和最复杂的数据结构之一。 广度优先搜索的工作原理:广度优先搜索 (BFS)是一种探索树或图的方法。在 BFS 中,您首先探索…

Mac 重新安装系统

Mac 重新安装系统 使用可引导安装器重新安装(可用于安装非最新的 Mac OS,系统降级,需要清除所有数据) 插入制作好的可引导安装器(U盘或者移动固态硬盘),如何制作可引导安装器将 Mac 关机将 Ma…

【多智能体】MetaGPT配置教程(应用智谱AI的GLM-4)

MetaGPT配置教程(使用智谱AI的GLM-4) 文章目录 MetaGPT配置教程(使用智谱AI的GLM-4)零、为什么要学MetaGPT一、配置环境二、克隆代码仓库三、设置智谱AI配置四、 示例demo(狼羊对决)五、参考链接 零、为什么…

Appium手机Android自动化

目录 介绍 什么是APPium? APPium的特点 环境准备 adb(android调试桥)常用命令 appium图形化简单使用 连接手机模拟器 使用appium桌面端应用程序 ​编辑 整合java代码测试 环境准备 引入所需依赖 书写代码简单启动 ​编辑 Appium元素定位 id定位 介…

unity自定义着色器基础

这些内置渲染管线的着色器示例演示了编写自定义着色器的基础知识,并涵盖了常见的用例。 有关编写着色器的信息,请参阅编写着色器。 设置场景 第一步是创建一些用于测试着色器的对象。在主菜单中选择 Game Object > 3D Object > Capsule。然后&a…

AMEYA360:广和通5G智能模组SC171支持Android、Linux和Windows系统,拓宽智能物联网应用

世界移动通信大会2024期间,广和通宣布:5G智能模组SC171除支持Android操作系统外,还兼容Linux和Windows系统,帮助更多智能终端客户快速迭代产品,拓宽智能化应用覆盖范围。 广和通SC171系列基于高通QCM6490物联网解决方案…

2022年下半年教师资格证考试《综合素质》(中学)题

1.一位肖老师认为:“教师在教学中不能只关注学科层面的知识,还要爱学生,建立和谐的师生关系”。她在日常工作中以此为行动指南,这表明肖老师所处的教师专业发展阶段是( B)。 A“虚拟关注”阶段 B“自我更新…

ubuntu22.04工具整理以及安装使用方式

截图工具 火焰截图 安装: sudo apt install flameshot增加自定义快捷键: 然后就可是使用是指的快捷键进行截图了。 如果没有在截图上编辑的需要,其实自带的截图也够用的。

这可能是你少有的能get到测试用例编写精髓的机会!

自动化测试用例的编写是实现项目自动化的核心,合理的用例设计是保证自动化效益和实用性的关键,也直接决定了自动化脚本是否具备可扩展和可维护性。由此,本篇文章主要为大家介绍了测试用例编写的规范和注意事项。 一、自动化测试用例选择 自…

如何在宝塔面板中设置FTP文件传输服务并实现远程文件管理

文章目录 1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固定FTP地址连接 宝塔FTP是宝塔面板中的一项功能,用于设置和管理FTP服务。通过宝塔FTP,用户可以创建FTP账号,配置FTP用户权限…

APRISO的低代码能力降低MOM系统全生命周期成本

前言 进入21世纪以来企业之间的竞争发生了巨大的变化,特别是近10年来,客户对产品的需求逐渐多样化,制造企业的生产模式也开始由大批量的刚性生产变为了多品种、小批量的柔性生产模式,生产线也从以前的手工方式转为了以自动化的机…

【软考高项】【计算专题】- 6 - 成本类 - 挣值管理

目录 一、知识点 1、基础概念 1.1 教材定义 1.2 理解方式 方式一:使用公式理解 方式二:使用语言描述 2、总结 2.1 三个参数 2.2 四个指标 2.3 其他关键参数 二、真题举例 高级2014年下半年案例分析试题 【问题1】 【问题2】 【问题3】 一…

将任何网页变成桌面应用,全平台支持 | 开源日报 No.184

tw93/Pake Stars: 20.9k License: MIT Pake 是利用 Rust 轻松构建轻量级多端桌面应用的工具。 与 Electron 包大小相比几乎小了 20 倍(约 5M!)使用 Rust Tauri,Pake 比基于 JS 的框架更轻量和更快内置功能包括快捷方式传递、沉浸…

【Python 数据分析 实战案例】通过用户和订单的数据分析,制定营销策略

在互联网行业中,电子商务领域绝对是数据分析用途最多的地方,各大电商平台都依赖数据分析帮助其挖掘用户订单增长机会。比如某宝的随手买一件,核心思路也就是根据用户的日常浏览内容及停留时间,以及订单的关联度来进行推荐的。 本…

秒杀小程序怎么做_尽享指尖上的超值优惠!

秒杀小程序:掀起购物狂潮,尽享指尖上的超值优惠! 在当下数字化、信息化的社会里,购物方式也在不断地变革和升级。其中,秒杀小程序以其独特的魅力和便捷性,逐渐成为了众多消费者热衷的购物渠道。那么&#…

1854034-70-0,Bis-Sulfone-PEG4-DBCO,能够与蛋白质上的多组氨酸缀合

您好,欢迎来到新研之家 文章关键词:1854034-70-0,Bis-Sulfone-PEG4-DBCO,双巯基磺酸四聚乙二醇二苯基环辛炔 一、基本信息 【产品简介】:Bis Sulfone PEG4 DBCO contains disulfide groups, which gives it a uniqu…