Closed LittleBreak closed 6 years ago
page.on('hoveranchor:beforeaddedge', (ev) => {
if (ev.anchor.type === 'input') {
ev.cancel = true;
}
});
page.on('dragedge:beforeshowanchor', (ev) => {
// 只允许目标锚点是输入,源锚点是输出,才能连接
if (!(ev.targetAnchor.type === 'input' && ev.sourceAnchor.type === 'output')) {
ev.cancel = true;
}
// 如果拖动的是目标方向,则取消显示目标节点中已被连过的锚点
if (ev.dragEndPointType === 'target' && page.anchorHasBeenLinked(ev.target, ev.targetAnchor)) {
ev.cancel = true;
}
// 如果拖动的是源方向,则取消显示源节点中已被连过的锚点
if (ev.dragEndPointType === 'source' && page.anchorHasBeenLinked(ev.source, ev.sourceAnchor)) {
ev.cancel = true;
}
});
解决了,原来是通过事件来自己实现控制字
环境
用法
关于锚点的这种写法是参考的官网上的例子,但是不起作用,仍然可以随意连接。 这种写法有问题吗