antv x6使用记录

4 篇文章 0 订阅
2 篇文章 0 订阅

最近要用到自定义流程图, 找了很多插件,antvX6更符合场景,还有文档。

项目环境: Vue3 + vite + ts + less + Arco design
antv x6 版本: 安装的最新的:

"@antv/x6": "^2.5.1",
"@antv/x6-plugin-stencil": "^2.0.2", // 提供了一个类似侧边栏的 UI 组件

这里有两个坑:

  1. 页面是包在tabs里面的,每个tabs里都会引用流程图,根据id='container’查找,这里必须设置<a-tabs destroy-on-hide> 未激活的tab需要销毁,否则流程图只会加载到第一个id='container’下。
  2. 引入stencil之后,控制台报错:
TypeError: Cannot read properties of undefined (reading 'ToolItem')

试了很多方法,在vite.config.js里加一行配置:

resolve: {
    alias: {
      '@antv/x6-plugin-stencil': path.resolve('./node_modules/@antv/x6-plugin-stencil/lib/index.js'),
    }
  },`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AntV X6 是一个基于 React 的可视化库,它提供了丰富的图形绘制、交互和布局功能,可以用于绘制各种类型的图表、流程图、组织结构图等。 使用 AntV X6 绘制图形需要引入相关的组件和样式,并创建一个画布元素。以下是一个简单示例: ```jsx import React, { useEffect, useRef } from 'react'; import { Graph } from '@antv/x6'; const MyGraph = () => { const container = useRef(null); useEffect(() => { const graph = new Graph({ container: container.current, width: 600, height: 400, }); const rect = graph.addNode({ x: 100, y: 100, width: 80, height: 40, label: 'Hello', style: { fill: '#eee', stroke: '#333', strokeWidth: 1, }, }); const circle = graph.addNode({ x: 300, y: 200, width: 40, height: 40, shape: 'ellipse', label: 'World', style: { fill: '#ccc', stroke: '#666', strokeWidth: 2, }, }); graph.addEdge({ source: rect, target: circle, attrs: { line: { stroke: '#333', strokeWidth: 1, }, }, }); }, []); return <div ref={container} />; }; export default MyGraph; ``` 在上面的示例中,我们创建了一个名为 `MyGraph` 的组件,使用 `useRef` 创建了一个画布元素的引用 `container`,并在 `useEffect` 中创建了一个 `Graph` 实例并添加了两个节点和一条边。 节点的属性包括位置、大小、形状、标签和样式等,可以根据具体需要进行调整。边的属性包括起点、终点和样式等。 在实际使用中,可以根据业务需求和数据结构进行更复杂的图形绘制和交互操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值