1. 安装
yarn add @topology/chart-diagram或npm install --save @topology/chart-diagram
2. 注册echarts类型节点
import { register as registerChart } from '@topology/chart-diagram';registerChart([可选参数]_echarts);// 说明:// 方式一:如果需要使用指定版本echarts,提前用scripts加载即可。// 参考:html中加载 <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js"></script>// 否则,注册服务未发现echart,将下载:// https://cdn.bootcss.com/echarts/4.3.0/echarts.min.js// registerChart();// 方式二:// import { register as registerChart } from '@topology/chart-diagram';// import { _echarts} from 'xxxxx'// registerChart(_echarts);
3. 使用echarts节点
注册echarts服务后,画布可以使用一个name为echarts的节点,表示echarts的图形库。我们把echarts的有关数据,写在node.data.echarts下即可。
canvas.addNode({text: '折线图',rect: {width: 300,height: 200},name: 'echarts',data: {echarts: {option: {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: 'line'}]}}}});
4. 更新重绘数据
方法一: 设置node属性:elementRendered = false
elementRendered 告诉node,挂载的第三方dom是否正确渲染,如果否,则调用第三方dom重绘函数。
方法二: 通过echart对象重绘 (@topology/chart-diagram >= 0.2.25)
import { echartsObjs } from ‘@topology/chart-diagram’;
其中 echartsObjs 中的echartsObjs[node.id].chart 指原生echarts对象,可以直接被使用。
5. 置底
把echarts放到正常的图层中,将会失去动态鼠标交互效果。方法如下:
方法1:drag对象中设置elementId=’’
方法2:调用node方法,node.removeFromDiv();
