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();