React中封装echarts图表组件以及自适应窗口变化

news/2024/10/23 5:34:22/

文章目录

  • 前言
  • 环境
  • 代码
  • 接口
  • 使用
  • 效果
  • 后言

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:react.js
🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹
💖感谢大家支持!您的观看就是作者创作的动力

环境

react版本:^18.2.0
echarts版本:^5.4.3
ts版本:^6.0.0

代码

import * as echarts from 'echarts';import {useEffect} from "react";
interface ChildProps {data: Option;
}
const View = (props:ChildProps)=>{useEffect(()=>{const myChart = echarts.init(document.getElementById("echarts"))// eslint-disable-next-line @typescript-eslint/ban-ts-comment// @ts-ignoremyChart.setOption(props.data)},[])window.addEventListener("resize",()=>{const myChart = echarts.init(document.getElementById("echarts"))myChart.resize()})return (<div id="echarts" style={{width:"80vw",height:"50vh "}}></div>)
}export default View;

接口

interface Option{xAxis: {type: string;data: string[];};yAxis: {type: string;};series: {data: number[];type: string;}[];[key: string]: unknown;
}

使用

// 导入
import Graph from "@/components/Graph"
const View = ()=>{const option = {tooltip: {trigger: 'axis',axisPointer: {// Use axis to trigger tooltiptype: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'}},legend: {},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true},xAxis: {type: 'value'},yAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},series: [{name: 'Direct',type: 'bar',stack: 'total',label: {show: true},emphasis: {focus: 'series'},data: [320, 302, 301, 334, 390, 330, 320]},{name: 'Mail Ad',type: 'bar',stack: 'total',label: {show: true},emphasis: {focus: 'series'},data: [120, 132, 101, 134, 90, 230, 210]},{name: 'Affiliate Ad',type: 'bar',stack: 'total',label: {show: true},emphasis: {focus: 'series'},data: [220, 182, 191, 234, 290, 330, 310]},{name: 'Video Ad',type: 'bar',stack: 'total',label: {show: true},emphasis: {focus: 'series'},data: [150, 212, 201, 154, 190, 330, 410]},{name: 'Search Engine',type: 'bar',stack: 'total',label: {show: true},emphasis: {focus: 'series'},data: [820, 832, 901, 934, 1290, 1330, 1320]}]}return(<div className="sonPage1"><Graph data={option}></Graph></div>)
}export default View;

效果

在这里插入图片描述

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


http://www.ppmy.cn/news/1229563.html

相关文章

移动云电脑:摆脱传统桎梏,助推企业数字化转型

如今&#xff0c;随着“云”在企业数字化转型战略中的作用日益凸显&#xff0c;上云是企业数字化转型第一步&#xff0c;已成为业界共识。尤其对于中小企业而言&#xff0c;数字化转型更是一种生存之道。 实际上&#xff0c;企业数字化转型面临很多传统桎梏。例如&#xff0c;数…

Flutter笔记:桌面端应用多窗口管理方案

Flutter笔记 桌面端应用多窗口管理方案 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134468587 【简介…

回归测试?

1. 什么是回归测试&#xff08;Regression Testing&#xff09; 回归测试是一个系统的质量控制过程&#xff0c;用于验证最近对软件的更改或更新是否无意中引入了新错误或对以前的功能方面产生了负面影响&#xff08;比如你在家中安装了新的空调系统&#xff0c;发现虽然新的空…

文件权限设置(chown、chmod、setfacl、chattr)

文件权限设置&#xff08;chown、chmod、setfacl、chattr&#xff09; chown (change owner)&#xff1a;修改文件属主&#xff08;owner&#xff09;和属组 chown 所有者 文件名 chown 所有者:属组名 文件名案例&#xff1a;chown weblogic:bea /data/info.tar 解释&#xf…

C++ DAY06 c++多态

简介 一个事物的多种形态 , 简称多态 物的多态 同一个人在不同人面前展现是不同的 如 : 在我面前 在对象面前 在朋友面前 在父母面前 事的多态 吃饭 中国人 筷子 熟食 美国人 刀叉 7 分熟 日本人 筷子 生食 印度人 手 睡觉 中国人 床上 日本人 榻榻米 侧卧 平躺…

API接口接入1688电商数据平台获取商品详情数据示例

1688电商数据平台是一个提供海量商品信息的数据平台&#xff0c;通过API接口可以方便地获取商品详情数据。以下是一个示例&#xff0c;演示如何接入1688电商数据平台&#xff0c;获取商品详情数据。 步骤一&#xff1a;注册1688账号并获取API权限 首先需要在1688电商数据平台…

测试集为什么不能当做验证集使用?

测试集和验证集在机器学习中有不同的目的和用途&#xff0c;因此通常不应该混用。主要的原因包括&#xff1a; 测试集的独立性&#xff1a; 测试集的主要目的是评估模型在未见过的数据上的泛化性能&#xff0c;模型在测试集上的表现应该反映其在实际应用中的性能。如果测试集被…

java中的抽象

1.当一个类中给出的信息不够全面时&#xff0c;&#xff08;比方说有无法确定的行为&#xff09;&#xff0c;它给出的信息不足以描绘出一个具体的对象&#xff0c;这时我们往往不会实例化该类&#xff0c;这种类就是抽象类。 2. 在Java中&#xff0c;我们通过在类前添加关键字…