javascript - 单元格之间的链接不是 "flat"- JointJS

标签 javascript svg jointjs

当我四处拖动我的“表格”单元格时,大多数时候连接是平坦的/水平的(比如链接的垂直部分或来自 ORDERLINE 表格的小部分),但有时它们最终会在一个小 Angular (链接的左侧位)。有没有办法防止这种情况?

enter image description here

如果我检查 devtools 中的元素,它会显示 rotate 有一些小的偏移量,而不是我期望看到的值(即 0、90、180、-90、 -180).. 当前为链接的左侧部分呈现的示例:

<path class="marker-source" fill="white" stroke="#c5d8e5" d="M 6 0 L 6 10 M 6 5 L 0 5 z" id="v-29" stroke-width="2" transform="translate(318.204758999181,420.00417997801776) scale(1,1) rotate(2.34686279296875)"></path>

也许有什么办法可以解决这个问题吗?

最佳答案

这是 manhattan 路由器吗?如果是这样,有一个技巧可以改善这一点。尝试为 paper.option.gridSizerouter.option.step 设置相同的值,如下例中设置为 20。

var paper = new joint.dia.Paper({
    el: document.getElementById('paper'),
    width: 800,
    height: 600,
    gridSize: 20,
    perpendicularLinks: true,
    model: graph,
    defaultLink: new joint.dia.Link({
        router: { name: 'manhattan', args: { step: 20 } },
        connection: { name: 'orthogonal' },
        attrs: {
            '.marker-target': { d: 'M 10 0 L 0 5 L 10 10 z', fill: '#fff', stroke: '#000' },
            '.link-tools .tool-remove circle, .marker-vertex': { r: 8 },
            '.connection': {
                stroke: '#000', 'stroke-width': 1
            }
        }
    }),
    interactive: {
        vertexAdd: false
    }
});

关于javascript - 单元格之间的链接不是 "flat"- JointJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39140597/

相关文章:

javascript - 绑定(bind)工作但不工作

javascript - 使用 javascript/jquery 循环 json 对象

javascript - JointJS:使链接标签在链接本身上移动

javascript - 基于一天中的时间的文本

javascript - 如何按顺序执行 promise 数组?

javascript - 使用 SVG 和 Vue 重新创建动态圆环图

javascript - SVG - 单击时旋转 SVG

html - 查看 clip-path 的反区域

jointjs - 不触发单元格事件

javascript - 如何删除元素并嵌入jointjs