JsPlumb 实现拖拽连线,点击删除连线,点击删除节点标题
参考网上的代码写的练习
实现的功能
拖拽连线: 设置静态端点,端点自带拖拽连线的功能
点击连线删除该连线:plumbIns.deleteConnection(conn);
点击dom删除其自身包括节点和连线
因为用到dom,在mounted()里面写
百度出来的有些函数已经废弃了,最好使用的时候直接console.log(jsPlumb)看有什么内置函数
jsPlumb 里面的内置删除函数
- deleteConnection: ƒ (connection, params)
- deleteConnectionsForElement: ƒ (el, params)
- deleteEndpoint: ƒ (object, dontUpdateHover, deleteAttachedObjects)
- deleteEveryConnection: ƒ (params)
- deleteEveryEndpoint: ƒ ()
- deleteObject: ƒ (params)
完整代码如下
<template>
<div id="content">
<div id="state1"
class="item">start</div>
<div id="state2"
class="item"></div>
<div id="state3"
class="item">end</div>
</div>
</template>
<script>
import {
jsPlumb } from 'jsplumb'
export default {
name: 'learnJsplumb',
mounted() {
let plumbIns = jsPlumb.getInstance()
plumbIns.ready(function () {
var common = {
//设置端点样式
isSource: true,
isTarget: true,
connector: ['Flowchart', {
cornerRadius: 5 }],//连接器使用流程图外观 设置样式
// overlays: [ ['Arrow', { width: 12, length: 12, location: 0.5 }] ], 而在addEndpoint方法中,不能使用overlays,需要使用connectOverlays
endpoint: 'Dot',
paintStyle: {
//通过设置各种 *Style来改变链接或者端点的样式 //连接器外观
fill: '#316b31',