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

react用ECharts实现组织架构图

找到ECharts中路径图。

然后开始爆改。

<div id={'org-' + name} style={{ width: '100%', height: 650, display: 'flex', justifyContent: 'center' }}></div>
// data的数据格式
interface ChartData {name: string;value: number;children: ChartData[];
}

const treeDepth = useRef(0);  
const initChart = () => {const demoId = document.getElementById('org-' + name);let myChart = echarts.getInstanceByDom(demoId);if (!myChart) {myChart = echarts.init(demoId);const options = {tooltip: {trigger: 'item',triggerOn: 'mousemove',formatter: function (params: any) {// 获取当前节点的所有父级名称const parentNames = params.treeAncestors.map((node: any, index: number) =>                 (index > 0 ? node.name : null)).filter((item: string) => item);// 返回父级名称,不包含值return parentNames.join('<br/> ');},},series: [{type: 'tree',id: 0,name: '工厂模型',layout: 'orthogonal', // 水平orient: 'TB', // 从上到下data,top: '10%',left: '8%',bottom: '22%',right: '20%',edgeShape: 'polyline',edgeForkPosition: '63%',initialTreeDepth: treeDepth.current,lineStyle: {// 每个节点所对应的文本标签的样式width: 4,color: '#40a9ff',},label: {// 每个节点所对应的文本标签的样式backgroundColor: '#096dd9',verticalAlign: 'middle',align: 'center',fontSize: 22,padding: [10, 10, 5, 10],color: '#fff',},leaves: {// 叶子节点的特殊配置label: {verticalAlign: 'middle',align: 'center',},},emphasis: {focus: 'descendant',},expandAndCollapse: true,animationDuration: 550,animationDurationUpdate: 750,},],};myChart.setOption(options, true);}};useEffect(() => {initChart();}, []);

相关文章:

  • JAVA Spring WebSocket 实时消息
  • 【Effective Web】常见的css居中方式
  • http网络服务器
  • Oracle 打开钱包 ORA-28368: cannot auto-create wallet
  • 响应式网页开发方法与实践
  • C++Primer Plus复习题(第六章)
  • Linux 内核 (十二)进程间通讯 之 消息队列
  • 深入掌握SystemVerilog验证:《SystemVerilog验证 测试平台编写指南》(可下载)
  • 巴中青少年编程:开启未来科技的无限可能
  • Science Online《科学周刊》文献在家如何查找下载
  • 针对k8s集群已经加入集群的服务器进行驱逐
  • OpenSSL新手教程:加密与安全通信基础
  • Hadoop 3.X HA集群部署
  • Vue页面生成PDF后调起浏览器打印
  • 基于Pytorch实现AI写藏头诗
  • php的引用
  • hexo+github搭建个人博客
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • JavaScript设计模式系列一:工厂模式
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • php的插入排序,通过双层for循环
  • python_bomb----数据类型总结
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • v-if和v-for连用出现的问题
  • vuex 学习笔记 01
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 前端设计模式
  • 前嗅ForeSpider教程:创建模板
  • 十年未变!安全,谁之责?(下)
  • 算法系列——算法入门之递归分而治之思想的实现
  • 通信类
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #面试系列-腾讯后端一面
  • (152)时序收敛--->(02)时序收敛二
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (接口自动化)Python3操作MySQL数据库
  • (三)elasticsearch 源码之启动流程分析
  • (算法)N皇后问题
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Mysql的优化设置
  • .mysql secret在哪_MYSQL基本操作(上)