• jsplumb应用场景快速开发


    1 基础元素组成

    (1)源对象:source
    (2)目的对象:target
    (3)锚点:Anchor
    (4)连接线:Connector
    (5)端点:Endpoint
    (6)Overlay:添加到连接线上的附件

    2 jsplumb初使用

    import {jsPlumb} from 'jsplumb'
    
    const $jsPlumb=jsplumb.jsplumb	//调用这个接口就行
    
    使用$jsPlumb.getInstance({})	//创建jsPlumb实例
    
    • 1
    • 2
    • 3
    • 4
    • 5

    那我现在需要在某个指定区域内画流程图又该如何

    //可以设置容器来解决
    $jsPlumb.setContainer('')	//注意设置的容器必须设置position:relative	!!!
    
    • 1
    • 2

    为什么要进行上述操作呢?

    因为jsPlumb会给它自己画的元素添加position:absolute

    但有时候窗口resize时,jsPlumb不会自动跟踪dom元素位置,导致对不齐,设置为px可以解决这个问题,但是设置为响应式单位的话,必须使用window.resize

    3 jsPlumb的运行时机

    jsPlumb必须等元素加载完才能使用,所以一般写在onMounted生命周期钩子里,并使用$jsPlumb.ready(()=>{})

    4 离开页面时需要进行什么操作?

    当离开页面时需要使用$jsPlumb.reset()方法清除缓存,不然它将一直保存在浏览器缓存中,下次进入页面容易出现bug

    5 在$jsPlumb.getInstance()中使用api

    
    let $jsPlumb = jsPlumb.jsPlumb;
    let jsPlumb_instance = null; // 缓存实例化的jsplumb对象
    
    onMounted(()=>{
    	showPlumb()
    })
    
    const showPlumb=()=>{
    	jsPlumb_instance=$juPlumb.getInstance({
    		Container: 'container',	//容器的id
    		EndpointStyle:{radius:2,fill:'red'},	//锚点的样式
    		PaintStyle:{stroke:'#000',strokeWidth:2},	//绘画样式
    		HoverPaintStyle:{stroke:'red'},		//悬停样式
    		ConnectionOverlays:[	//连接的覆盖层,设置所有箭头的样式
    			'Arrow',{
    				width:2,	//箭头尾部宽度
    				length:2,	//箭头尾部到头部距离
    				location:1,	//箭头出现在连接器上的位置,即箭头在直线上的位置
    				direction:1,	//箭头方向,-1为反向
    				foldback: 1,	//尾部指向折返的箭头多远,就是箭头尾部向左右的缩进程度
    				paintStyle:{},
    			}
    		]Connector:['Straight'],	//要使用的默认连接器类型:直线、折线、曲线
    		DrapOptions:[],	//为拖拽元素设置样式
    
    	})
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    6 常用方法

    (1)batch(fn, doNotRepaintAfterwards:Boolean)

    暂停绘图,运行指定函数,然后重启绘图。第二个参数决定是否重启绘图

    (2)makeSource(el, params)

    指定el元素称为连接源,允许从它们开始拖到连接,而无需事先注册任何端点

    • el: String | Element, 可以为选择器或DOM元素
    • params:Object,创建配置
  • 相关阅读:
    【CentOS7+ Ambari 2.7.4 + HDP 3.1.4】搭建数据仓库
    FreeRTOS 中互斥锁的基本使用方法
    分类模型训练pil、torchvision.transforms和opencv的resize
    基于单片机的电子琴设计
    React Native常用的Text和Image组件
    VR全景如何助力乡村振兴,乡村发展在哪些方面用到VR全景技术
    索尼 toio™应用创意开发征文|toio俄罗斯方块游戏
    给电脑换上鸿蒙字体吧~
    人脸检测之PCN(一)——论文阅读
    ROS 仿真
  • 原文地址:https://blog.csdn.net/weixin_44208404/article/details/126346113