用最简单的方式画拓扑图!!!类似于拓扑图的配置,原来是使用go.js实现的,类似的库还有antvg6。重构主要是为了提

可以看到,包里只提供了极少的api,文档几分钟就能看完,之所以少,是因为库只负责将节点放到正确的位置,连上线就好了,其他的“概不负责”,修改样式可以在你的div上加个class,添加事件就再上个onXXX,想做啥做啥。

最主要的原因就是为了“简单”!对于拓扑图这样的场景,画一个简单的节点,用DOM实现只需要简单的几行代码,用canvas的话就要写一大堆了,别人来看估计就是“一大坨”了。同时相对于需要先学习一套组件,然后用那些“奇奇怪怪”的api去写交互和样式,直接上手就开始撸自己最熟悉的div+css岂不是很开心?对于开发而言,调试DOM能够看到每一个元素的细节,而canvas就无能为力了。

核心部分代码:

lines记录节点与节点间的关系,start记录起点信息,格式为:'起点id-锚点id',end记录终点信息,格式为:'终点id'。

上面的效果图可以看到右下角第二个图标点击自动布局功能,为了方便排版,自动布局会根据树结构计算节点的位置。当初始数据没有position字段时,如果autoLayout为true,组件会自动触发布局功能,相当于点击了自动布局按钮。

组件使用类似input或者select,当有新增节点或者连线发生时,触发onChange,onChange带有两个参数,newData和changeType,整个过程完全受控,你可以在onChange中做一些校验,决定数据是否更新。

当选择节点或者线段时触发,参数selectData格式同data。

renderTreeNode接收两个参数:nodeData,decorators,返回节点的DOM。

exportdefaulttopologyWrapper(Flow);包含拖拽部分的最上层组件必须要用topologyWrapper包一下,这是因为使用了react-dnd需要设置backend,这里只是做了一个简单的导出,方便使用:

exportconsttopologyWrapper=DragDropContext(HTML5BackEnd);总结从需求出发来看,需要拥有更好的定制化能力和灵活性,从重构的角度来看,需要让代码更简单明了。go.js功能十分强大,但对于拓扑图这种相对较简单的场景而言,并不需要那么多复杂的能力,反而可能出现上面说的问题,所有canvas的实现应该都会有类似的问题。所以充分利用DOM的能力,在能实现需求的情况下,本库或许是更好的选择。

THE END
1.机房三大网络拓扑图,太实用了机房组网通常来说,机房的三大网络拓扑图指的是星型拓扑、总线型拓扑和环形拓扑。 在实际的机房网络设计中,可能会根据具体的业务需求和网络规模,采用这些基本拓扑结构的组合或者衍生出更复杂的拓扑设计,如树型拓扑、网状拓扑等,以实现更好的扩展性、冗余性和可靠性。 https://blog.csdn.net/SPOTO2021/article/details/142385674
2.ProcessOn思维导图流程图在线画思维导图流程图ProcessOn是一款专业在线作图工具和知识分享社区,提供AI生成思维导图流程图。支持思维导图、流程图、组织结构图、网络拓扑图、鱼骨图、UML图等多种图形,同时可实现人与人之间的实时协作和共享,提升团队工作效率。https://www.processon.com/
3.拓扑地图第一,对于环境的拓扑,尚没有形成统一的定义.例如 Kuipers和 Th run分别采用不同的方式表示拓扑节点和弧.这导致在实际应用中机器人难以对环境的拓扑地图进行创建.第二 ,拓扑地图的在线创建. Zwynsvoo rde提出了一种拓扑地图在线创建方法 ———V orono i图法,该方法无法应用于任意形状的空间并且需要很长的计算时间https://baike.baidu.com/item/%E6%8B%93%E6%89%91%E5%9C%B0%E5%9B%BE/7680710
4.拓扑图是什么?要如何制作?拓扑图也叫拓扑结构图,指由计算机、路由器、交换机、打印机等网络节点设备和通信介质构成的网络结构图。通俗的讲就是用图示的方式说明网络中节点设备和通信介质的连接方式。 二、拓扑图有什么用 梳理拓扑图时,主要会考虑到设备的安装难易程度、重新配置的难易程度、维护的难易程度、受影响时设备情况https://www.liuchengtu.com/tutorial/tuopussm.html/
5.拓扑图图片免费下载拓扑图素材拓扑图海报新图网是专注免费商用设计素材下载的网站,提供拓扑图,拓扑图图片,拓扑图素材, 拓扑图图标,拓扑图海报等免费下载服务!https://ixintu.com/all/tuoputu.html
6.拓扑图图片免费下载拓扑图素材拓扑图模板千图网为您找到24张拓扑图相关素材,千图网还提供拓扑图图片,拓扑图素材, 拓扑图模板等免费下载服务,千图网是国内专业创意营销服务交易平台,一站式解决企业营销数字化、协同化,实现营销转化效果增长!https://www.58pic.com/tupian/tuoputu.html
7.拓扑图是什么意思常见问题拓扑图是一种抽象图,展示网络中设备之间的连接方式,不显示物理位置。其组成要素包括:节点(设备)、链路(连接)、可选的权重(连接成本或延迟)。拓扑图类型有:物理拓扑(显示实际连接)和逻辑拓扑(显示逻辑连接)。用途包括:了解网络布局、识别连接问题、规划扩展和升级、监控性能、创建文档。 https://www.php.cn/faq/793912.html
8.拓扑图打包下载拓扑图打包官方下载拓扑图打包绿色版所在位置:首页—PC软件—图形图像—CAD软件—拓扑图打包 拓扑图打包 绿色版 软件授权:免费软件 软件大小:6.5MB 软件评分: 软件类型:国产软件 更新时间:2017-07-17 应用平台:WinAll 软件语言:简体中文 版本:绿色版 CAD软件口碑排行榜 浩辰CAD看图王 酷家乐3D室内装修设计软件 64位 http://www.onlinedown.net/soft/625493.htm
9.拓扑图素材拓扑图png图片下载觅元素是设计素材的免费下载网站,提供拓扑图素材,拓扑图png图片等素材免费下载,下载拓扑图素材就来觅元素。https://www.51yuansu.com/sopng/tuoputu.html
10.网络拓扑图图片网络拓扑图素材网络拓扑图模板免费下载六图网为您提供网络拓扑图设计作品免费下载服务,您还可以找到网络拓扑图图片、网络拓扑图素材、网络拓扑图模板等设计素材,我们为您提供网络拓扑图图片下载,网络拓扑图模板下载、网络拓扑图素材下载等服务!https://www.16pic.com/sucai/1106810.html
11.网络拓扑图网络拓扑结构是指用传输媒体互连各种设备的物理布局。将参与LAN工作的各种设备用媒 体互连在一起有多种方法,实际上只有几种方式能适合LAN的工作。网络拓扑结构是指用传输媒体互连各种设备的物理布局,就是用什么方式把网络中的计算机等设备连接起来。拓扑图给出网络服务器https://baike.sogou.com/v4029109.htm
12.画拓扑图用什么软件好?HCIA(HCNA)华为认证画拓扑图的软件有很多,大多可以在网上免费下载,今天小编为大家几款比较常用的软件,像PPT,VISIO,亿图图示等软件都比较常用。其中PPT用来绘制小拓扑图比较方便,亿图属于国产软件,好评较多,使用效果还不错。不过,最多被推荐的还是VISO,如果想要做大拓扑,那这款软件时必须具备的。 https://www.spoto.net/hcna/1165.html
13.拓扑图与架构图架构图和拓扑图jordana的技术博客拓扑图与架构图 架构图和拓扑图 1、拓补图 拓补图:拓扑结构图是指由网络节点设备和通信介质构成的网络结构图。 在选择拓扑结构时,主要考虑的因素有:安装的相对难易程度、重新配置的难易程度、维护的相对难易程度、通信介质发生故障时,受到影响的设备的情况。https://blog.51cto.com/u_12897/6660605
14.网络拓扑图素材网络拓扑图图片网络拓扑图素材图片下载觅知网为您找到15911个原创网络拓扑图素材图片,包括网络拓扑图图片,网络拓扑图素材,网络拓扑图海报,网络拓扑图背景,网络拓扑图模板源文件下载服务,包含PSD、PNG、JPG、AI、CDR等格式素材,更多关于网络拓扑图素材、图片、海报、背景、插画、配图、矢量、UI、PS、免抠https://www.51miz.com/so-sucai/205581.html
15.网络拓扑图图标图片网络拓扑图图标图片素材免费下载千库网为设计者提供网络拓扑图图标素材大全,为您省却网络拓扑图图标图片素材搜索时间,这里有海量网络拓扑图图标素材图片供您下载使用,本次搜索千库网为您找到10000张素材https://588ku.com/image/wangluotuopututubiao.html
16.最全的网络拓扑图了(清晰版)上传者:ciki830时间:2007-03-30 最全的网络拓扑图了OSI(清晰版) 七层网络架构,协议分布图。NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS 上传者:he20041987时间:2011-06-02 ppt素材库(网络拓扑图) ppt素材库,包含一些网络拓扑图的ppt素材。 上传者:hamleo时间:2011-11-26https://www.iteye.com/resource/dl_cache-1654781