当前位置: 首页 > news >正文

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

文章目录

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

前言

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.lryc.cn/news/237957.html

相关文章:

  • 鸿蒙:使用Stack、ContentTable、Flex等组件和布局实现一个显示界面
  • 3.生成验证码 + 开发登录、退出功能 + 显示登录信息
  • 基于龙格-库塔算法优化概率神经网络PNN的分类预测 - 附代码
  • 2022最新版-李宏毅机器学习深度学习课程-P51 BERT的各种变体
  • JavaFX中Application、Stage、Scene和Parent的区别
  • ubuntu18.04 terminal打不开的解决方法
  • 部署Kubernetes Dashboard
  • Java对List的操作
  • git 将本地已有的一个项目上传到新建的git仓库的方法
  • 基于Docker的安装和配置Canal
  • 去除IDEA中代码的波浪线(黄色警示线)
  • 【Qt之QSplashScreen】开场动画使用:进度条加载及设置鼠标指针不转圈
  • WPF Button点击鼠标左键弹出菜单
  • http库requests
  • package.json 依赖版本中的符号含义
  • Python try except 用法
  • 代码随想录二刷 | 链表 | 翻转链表
  • 每日一题(LeetCode)----链表--两两交换链表中的节点
  • 竞赛选题 身份证识别系统 - 图像识别 深度学习
  • 什么时候用@MapperScan 注解?
  • MQTT.js
  • html滑动文章标题置顶
  • Android11 桌面默认横屏导致任务键近期任务布局UI显示错误!
  • 「Verilog学习笔记」根据状态转移图实现时序电路
  • 使用DHorse发布SpringBoot项目到K8S
  • Java修仙记之记录一次与前端女修士论道的经历
  • 初识linux(1)
  • 投资黄金:如何选择正确的黄金品种增加收益?
  • Rust错误处理机制:优雅地管理错误
  • docker-compose安装harbor