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>
  
相关推荐
lly20240613 小时前
HTML与CSS:构建网页的基石
开发语言
一只会写代码的猫13 小时前
面向高性能计算与网络服务的C++微内核架构设计与多线程优化实践探索与经验分享
java·开发语言·jvm
2013编程爱好者14 小时前
Vue工程结构分析
前端·javascript·vue.js·typescript·前端框架
是小胡嘛15 小时前
C++之Any类的模拟实现
linux·开发语言·c++
csbysj202016 小时前
Vue.js 混入:深入理解与最佳实践
开发语言
不羁的fang少年16 小时前
前端常见问题(vue,css,html,js等)
前端·javascript·css
change_fate16 小时前
el-menu折叠后文字下移
前端·javascript·vue.js
Gerardisite17 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
Want59517 小时前
C/C++跳动的爱心①
c语言·开发语言·c++
coderxiaohan18 小时前
【C++】多态
开发语言·c++