> 文章列表 > 求解:使用Antv x6引入插件出现‘ToolItem’问题

求解:使用Antv x6引入插件出现‘ToolItem’问题

求解:使用Antv x6引入插件出现‘ToolItem’问题

一、前言

救救孩子,被困扰一周多了。

二、问题概述

2023年发布了antV X6的2.*版本,发现使用过程中会出现很多错误。
首先,个人使用的框架是Vue3,感觉有可能会是兼容性问题,但是有一个同事的电脑上是可以正常运行的。

npm安装X6

npm install @antv/x6 --save

发现安装的默认版本是2.7.5,经历过降低版本,引入1.*等操作,发现仍不能使用,目前的antV版本是2.0.5。
有时登录发现可以正常使用antV X6,但是若进行代码操作,特别是引入新插件(即使是已经下载过的x6插件,重新引入,就会报‘ToolItem’错)

二、目前项目安装的插件如下(安装但不一定引入,引入即报错):

求解:使用Antv x6引入插件出现‘ToolItem’问题

二、报错

求解:使用Antv x6引入插件出现‘ToolItem’问题

1.报错情况1:

安装最新版本的antV/X6,使用graph会报错如下:

//下载
npm install @antv/x6 --save//版本
"@antv/x6": "^2.9.7",//引用
import {Graph} from '@antv/x6';

caught (in promise) TypeError: Cannot read properties of undefined (reading ‘ToolItem’)
at button.ts:10:39

求解:使用Antv x6引入插件出现‘ToolItem’问题
当这里的引用改为:

import {Graph} from '@antv/x6/lib';

不报错了,但是引入其他的插件仍会报错,也需要添加“/lib”。
如果给其他的插件都加上‘/lib/',画面会成功显示,但是拖拽功能无法使用,粘贴复制功能也无法使用。

import {Graph, Shape} from '@antv/x6/lib';
import {Snapline} from "@antv/x6-plugin-snapline/lib";
import {Keyboard} from "@antv/x6-plugin-keyboard/lib";
import {Dnd} from "@antv/x6-plugin-dnd/lib";
import {Stencil} from "@antv/x6-plugin-stencil/lib";

如想拖拽,
则会报错如下:
求解:使用Antv x6引入插件出现‘ToolItem’问题