vue+jsplumb使用过程中怎么禁用拖拽线的端点--学习心得

1、全局在main.js文件中引入 jsplumb

复制代码
import jsPlumb from 'jsplumb'
Vue.prototype.$jsPlumb = jsPlumb.jsPlumb

2、在使用的页面进行初始化实例,注意要在mounted中触发

复制代码
jsPlumbLeftInit() {
    this.jsRightPlumb = this.$jsPlumb.getInstance({
      Container: "svgRightLine", //选择器id
      dragOptions: {
        containment: "children",
      },
      EndpointStyle: { radius: 0.1, fill: "#6173FA" }, //端点样式
      PaintStyle: { stroke: "#6173FA", strokeWidth: 8 }, // 绘画样式,默认8px线宽  #456
      Connector: ["Flowchart", { gap: 1 }], //要使用的默认连接器的类型:折线,流程等Flowchart
    });
}

3、通过接口API获取到渲染的数据

复制代码
eg:
   let data =[[{},{},{},{}],[{},{},{},{}]]

每一条数据要有一个唯一的标识‼️‼️

画线的source和target都是在页面中找唯一的ID类名进行渲染的。

4、页面UI是多边形展示,通过css画出来页面并绑定唯一的ID值。

5、jsplumb 斜线样式

复制代码
const connectorOptions = {
    endpoint: "Dot",
    connector: "Straight",
    paintStyle: {
      stroke: color,
      strokeWidth: 4,
      dashstyle: lineType,
    },
    hoverPaintStyle: {
      stroke: "#1E90FF",
    },
    isSource: true,
    isTarget: true,
};

6、画线逻辑

(1)固定渲染【第一组】【第二组】的点;

(2)依次渲染【第三组】【第四组】的店,注意组装数据;

7、阻止用户拖拽连线的端点方法

(1)在页面渲染流程图的同级写个div,设置样式。

复制代码
position:absolute;
z-index:99;

(2)流程图的圈圈支持点击动作,跳转到连线的详情页面,单独在父元素设置样式。

复制代码
position:absolute;
z-index:100;

8、最后就皆大欢喜啦~

但是jsplumb插件是有专业方法API来实现的,但是不知道为什么我的代码不行,有大佬可以指教。

附上专业API方法:

复制代码
// 获取指定元素的DOM元素
let node = document.getElementById('portId')
// 禁用节点的拖放
jsPlumb.setDraggable(node, false);
// 启用节点的拖放功能
jsPlumb.setDraggable(node, true);
相关推荐
独泪了无痕1 小时前
使用Fetch API 探索前后端数据交互
前端·http·交互设计
css趣多多1 小时前
别名路径的知识点
前端
靓仔建3 小时前
Vue3导入组件出错does not provide an export named ‘user_setting‘ (at index.vue:180:10)
开发语言·前端·typescript
EnoYao3 小时前
我写了一个团队体检报告 Skill,把摸鱼的同事扒出来了😅
前端·javascript
梁正雄3 小时前
Python前端-2-css练习
前端·css·python
清汤饺子3 小时前
用 Cursor 半年了,效率还是没提升?是因为你没用对这 7 个功能
前端·后端·cursor
Never_Satisfied4 小时前
在JavaScript / Node.js中,package.json文件中的依赖项自动选择最新版安装
javascript·node.js·json
蓝莓味的口香糖4 小时前
【vue3】组件的批量全局注册
前端·javascript·vue.js
wefly20174 小时前
开发者效率神器!jsontop.cn一站式工具集,覆盖开发全流程高频需求
前端·后端·python·django·flask·前端开发工具·后端开发工具
独泪了无痕4 小时前
自动导入 AutoImport:告别手动引入依赖,优化Vue3开发体验
前端·vue.js·typescript