【vue2+antvx6】节点大小不一致,点击按钮流程图自动布局

需求:

1、点击优化布局的按钮,自动布局(从左到右),按钮变成撤销布局按钮

2、点击撤销布局的按钮,返回之前的布局

3、在点击优化布局的按钮后,如果移动了节点,则自动将撤销布局的按钮变成优化布局的按钮

第一步:安装插件

npm i @antv/layout

第二步:写方法

 // 优化布局(自动布局)
    layout() {
      this.isRevoke = true;
      const gridLayout = new DagreLayout({
        type: "dagre",
        rankdir: "LR",
        // align: "UL",
        ranksep: 30,
        nodesep: 15,
        controlPoints: true,
      });
      //布局所需的格式
      const originData = {
        nodes: [],
        edges: [],
      };
      //获取所有节点
      const nodes = graph.getNodes();
      //获取当前数据
      const jso = (document.querySelector("#container").value = JSON.stringify(
        graph.toJSON({ diff: true })
      ));
      //保存原先布局
      localStorage.setItem("layoutAntv", jso);
      //原先布局中的数据放置到所需格式中
      JSON.parse(jso).cells.forEach((i) => {
        if (i.shape === "edge") {
          originData.edges.push(i);
        } else {
          originData.nodes.push(i);
        }
      });
      //我设置的vue自定义节点,所以节点在添加的时候,会根据实际盒子的大小进行设置(利用node.resize()进行改变)
      //所以我的节点大小是不一致的,需要替换一下改变后的节点大小
      nodes.forEach((node) => {
        const size = node.si

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

等保测评与信息安全管理体系认证的区别

区别一、标准以及性质 等保测评以《中华人民共和国计算机信息系统安全保护条例》为基础,结合一系列的政策和标准,对信息安全水平进行评估。而安全管理系统的认证,是资讯安全管理系统的一种规范,本身并不具备强制性质。企业可根据…

这么全的权限系统设计方案,不值得收藏吗?

1 为什么需要权限管理 日常工作中权限的问题时时刻刻伴随着我们,程序员新入职一家公司需要找人开通各种权限,比如网络连接的权限、编码下载提交的权限、监控平台登录的权限、运营平台查数据的权限等等。 在很多时候我们会觉得这么多繁杂的申请给工作带…

未来想从事Linux 后台开发,需要学习linux内核吗?

先列出主要观点,有时间再补充细节: “学习Linux内核”对不同的人有不同的含义,学习方法、侧重点、投入的精力也大不相同。我大致分三类:reader、writer、hacker。reader 就是了解某个功能在内核的大致实现 how does it work&…

ZIP压缩输入流(将文件压缩为ZIP文件)

文章目录 前言一、ZIP压缩输入流是什么?二、使用介绍 1.使用方法2.实操展示总结 前言 该篇文章将会介绍如何使用java代码将各种文件(文件夹)的资源压缩为一个ZIP压缩包。通过java.util包中的ZipOutputStream类来实现。并且需要自定义压缩方法…

记录些AI Agents设计模式和NL2SQL知识

吴恩达分享的四种 自我反思(Reflection):可以自我修正;使用工具(Tool Use):链接其他系统去做一些事情,比如把电脑里面的未归档文件做好归档;规划(Planning&a…

免费实用在线小工具

免费在线工具 https://orcc.online/ pdf在线免费转word文档 https://orcc.online/pdf 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA1/SHA256…) 计算 https://orcc.online/ha…

软考之零碎片段记录(二十七)+复习巩固(十三、十四)

学习 1. 案例题 涉及到更新的。肯能会是数据流的终点E, P, D 数据流转。可能是 P->EP->D(数据更新)P->P(信息处理)D->P(提取数据信息) 2. 案例2 补充关系图时会提示不增加新的实体。则增加关联关系 3. 案例3 用例图 extend用于拓展,当一个用例…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-1.3

前言: 本文是根据哔哩哔哩网站上视频“正点原子[第二期]Linux之ARM(MX6U)裸机篇”的学习笔记,在这里会记录下正点原子Linux ARM MX6ULL 开发板根据配套的哔哩哔哩学习视频所作的实验和笔记内容。本文大量的引用了正点原子哔哔哩网…

Python 单例类中设置和获取属性的问题及解决方案

1、问题背景 在编写 Python 代码时,有时需要创建一个单例类,这样就可以在程序中使用该类的唯一实例。为了实现这一点,可以定义一个类,并在其 __new__ 方法中检查该类的实例是否已经存在。如果实例存在,则返回该实例&a…

stm32f4单片机强制类型转换为float程序跑飞问题

如题,在一个数据解析函数中使用了*(float *)&data[offset],其中data为uint8类型指针,指向的value地址为 可以看到地址0x20013A31非对齐,最终在执行VLDR指令时导致跑飞 VLDR需要使用对齐访问 跑飞后查看SCB寄存器发现确实是非…

未授权/敏感信息/越权检测插件-BurpAPIFinder

简介 攻防演练过程中,我们通常会用浏览器访问一些资产,但很多未授权/敏感信息/越权隐匿在已访问接口过html、JS文件等,通过该Burp插件我们可以: 1、发现通过某接口可以进行未授权/越权获取到所有的账号密码、私钥、凭证 2、发现通…

【顺序表小题】

顺序表小题 移除元素思路一思路二 合并两个有序数组思路一思路二 移除元素 链接: 题目链接 思路一 创建新的数组,遍历原数组,将不为val的值放到新数组中 思路二 双指针法。 创建两个变量src,dst。 1)若src指向的值为val,则src 2)若sr…

点击劫持:X-Frame-Options未配置、nginx配置X-Frame-Options响应头

nginx配置X-Frame-Options响应头 X-Frame-Options X-Frame-Options 有三个值: DENY 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。ALLOW-FROM uri 表示该页面可…

TechTool Pro for mac中文激活版:硬件监测和系统维护工具

TechTool Pro mac帮助用户实现系统硬件监测(CPU、内存、硬盘、网络、USB等)、内存测试、S.M.A.R.T检测、磁盘宗卷扫描、宗卷重建和优化、数据恢复和粉碎等等,定期使用,可以确保您的Mac保持优化和无故障。 TechTool Pro for mac v1…

小龙虾优化算法(Crayfish Optimization Algorithm,COA)

小龙虾优化算法(Crayfish Optimization Algorithm,COA) 前言一、小龙虾优化算法的实现1.初始化阶段2.定义温度和小龙虾的觅食量3.避暑阶段(探索阶段)4.竞争阶段(开发阶段)5.觅食阶段&#xff08…

Github进行fork后如何与原仓库同步[解决git clone 太慢的问题]

前言 fork了一个仓库以后怎么同步源仓库的代码? 先说一下git clone太慢的问题,可以通过代理拉取代码,具体请看: https://gitclone.com/ 步骤 1、执行命令 git remote -v 查看你的远程仓库的路径。 以一个实际例子说明&#x…

场外个股期权开户新规及操作方法

场外个股期权开户新规 场外个股期权开户新规主要涉及对投资者资产实力、专业知识、风险承受能力和诚信记录的要求。以下是根据最新规定总结的关键要点: 来源/:股指研究院 资产门槛:投资者需具备一定的资产实力,确保在申请开户前…

Maven | 依赖

Maven项目结构 Pom代码 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.…

Android 14设置android:importantForAutofill=“no“无效

密码输入框EditText不希望弹出Google的是否保存密码弹出框&#xff0c; 直接设置了android:importantForAutofill"no"&#xff0c; android:inputType"textPassword|textNoSuggestions"在安卓12手机上有效&#xff0c;但是在安卓14上面就不行了&#xff0…

前端高并发的出现场景及解决方法——技能提升——p-limit的使用

最近在写后台管理系统的时候&#xff0c;遇到一个场景&#xff0c;就是打印的页面需要根据传入的多个id&#xff0c;分别去请求详情接口。 比如id有10个&#xff0c;则需要调用10次详情接口获取到数据&#xff0c;最后对所有的数据进行整合后页面渲染。 相信大家或多或少都遇到…
最新文章