zoukankan      html  css  js  c++  java
  • jointjs笔记5-设置线始终指向port上,不会随着方向的变化,而改变终点位置

     效果1

    效果2

    问题:手动连接之后的线是图2的效果,但是这个关系图是根据后端返回数据进行绘制的,所以,总是出现效果1的情况,随着节点的移动,终端连接点位置也是乱动

    解决方法:在生成link中,对source和target的添加port属性(默认是不传这个属性的),代码如下(注意,port属性(仅适用于元素)。使用端口id)

    var link = new joint.shapes.standard.Link({
          source: {
                id: source.id,
                port: "out"  
          },
          target: {
                id: target.id,
                port:"in"
    } });
    "out"/"in",均为创建node时,node上的port的id
    let portObj={
      groups: {
        'in': {
          id:"in",
          position: 'left',
          attrs: {
            circle: {
              magnet: canIn,
              stroke: "#aba7a7",
              fill: "#aba7a7",
              r:10,
              "ref-y":0,
              "stroke-opacity": 0.5
            },
          },
          z: -1 //层级设置
        },
        "out": {
          id:"out",
          position: 'right',
          attrs: {
            circle': {
              magnet:true, //控制改锚点是否可以被连接
              stroke: "#aba7a7",
              fill: "#aba7a7",
              r:10,
              "ref-y":0,
              "stroke-opacity": 0.5
            }
          },
          z: -1
        }
      },
      items: [
        {
          id:"in",
          group: 'in',
        },
        {
          id:"out",
          group: 'out',
        }
      ]
    };
    
    
    var circle = new joint.shapes.standard.Circle({
        id:data.modelId,
        inPorts: ["in"],
        outPorts: ["out"],
        ports: portObj,
        position: data.x?{ x: data.x, y: data.y }:{},
    });
    
    

    jointjs 文档 https://resources.jointjs.com/docs/jointjs/v3.3/joint.html#dia.Link.geometry.source

  • 相关阅读:
    amazonS3文件管理工具类
    Building for production... ERROR TypeError: Cannot read property ‘createHash‘ of undefined
    nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)错误解决办法
    Git命令使用总结
    html5-语义化标签(一)
    php的初步了解
    css3 实现圆角边框的border-radius属性和实现阴影效果的box-shadow属性
    css3 transform方法常用属性
    css3 transition属性实现3d动画效果
    css3 3d展示中rotate()介绍与简单实现
  • 原文地址:https://www.cnblogs.com/fyjz/p/14481804.html
Copyright © 2011-2022 走看看