Vue3+Antv X6流程图基本使用

安装 antv/X6

npm i @antv/x6

js 复制代码
<template>
  <div class="homes">
    <div class="Shang">上</div>
    <div class="Zhong">
      <div id="container"></div>
    </div>
    <div class="Xia">下</div>
  </div>
</template>
<script setup>
import { ref, onMounted } from "vue";
import { Graph } from "@antv/x6";

const data = {
  // 节点
  nodes: [
    {
      id: "node1", // String,可选,节点的唯一标识
      x: 40, // Number,必选,节点位置的 x 值
      y: 40, // Number,必选,节点位置的 y 值
      width: 80, // Number,可选,节点大小的 width 值
      height: 40, // Number,可选,节点大小的 height 值
      label: "hello", // String,节点标签
    },
    {
      id: "node2", // String,节点的唯一标识
      x: 160, // Number,必选,节点位置的 x 值
      y: 180, // Number,必选,节点位置的 y 值
      width: 80, // Number,可选,节点大小的 width 值
      height: 40, // Number,可选,节点大小的 height 值
      label: "world", // String,节点标签
    },
  ],
  // 边
  edges: [
    {
      source: "node1", // String,必须,起始节点 id
      target: "node2", // String,必须,目标节点 id
    },
  ],
};
let graph = null;

const chushih = () => {
  graph = new Graph({
    container: document.getElementById("container"),
    width: 800,
    height: 600,
    background: {
      color: "#f7f7f7", // 设置画布背景颜色
    },
    grid: {
      size: 20, // 网格大小 10px
      visible: true, // 渲染网格背景
    type: 'dot', // 'dot' | 'fixedDot' | 'mesh'
    // args: { 
    //   color: '#36d', // 网格线/点颜色
    //   thickness: 2,     // 网格线宽度/网格点大小
    // },
    args: [
      { 
        color: '#36d', // 主网格线颜色
        thickness: 1,     // 主网格线宽度
      },
      { 
        color: '#ff0', // 次网格线颜色
        thickness: 1,     // 次网格线宽度
        factor: 4,        // 主次网格线间隔
      },
    ],
    },
  });
  graph.fromJSON(data);
};

onMounted(() => {
  chushih();
});
</script>
  
<style lang="less" scoped>
.homes {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  .Shang {
    width: 100%;
    height: 100px;
    background-color: burlywood;
  }

  .Zhong {
    flex: 1;
    box-sizing: border-box;
    padding: 10px;
    background-color: #d7c5c5;
  }

  .Xia {
    width: 100%;
    height: 100px;
    background-color: burlywood;
  }
}
</style>
  
相关推荐
烤麻辣烫2 分钟前
黑马程序员苍穹外卖(新手) DAY3
java·开发语言·spring boot·学习·intellij-idea
q***48256 分钟前
基于python语言的网页设计(手把手教你设计一个个人博客网站)
开发语言·python
妮妮喔妮7 分钟前
JAVA反射的介绍(优缺点)
java·开发语言
云知谷10 分钟前
【软件测试】《集成测试全攻略:Mock/Stub 原理 + Postman/JUnit/TestNG 实战》
c语言·开发语言·c++·软件工程·团队开发
Hilaku12 分钟前
别再吹性能优化了:你的应用卡顿,纯粹是因为产品设计烂🤷‍♂️
前端·javascript·代码规范
驯狼小羊羔15 分钟前
学习随笔-hooks和mixins
前端·javascript·vue.js·学习·hooks·mixins
qq_225891746626 分钟前
基于Python+Django餐饮评论大数据分析与智能推荐系统 毕业论文
开发语言·后端·python·信息可视化·数据分析·django
普通网友36 分钟前
分布式锁服务实现
开发语言·c++·算法
普通网友37 分钟前
移动语义在容器中的应用
开发语言·c++·算法
电摇小人1 小时前
科学备赛今年NOIP!!
java·开发语言