首页 / VUE / jsPlumb+vue创建字段映射关系
jsPlumb+vue创建字段映射关系
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jsPlumb+vue创建字段映射关系,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2437字,纯文字阅读大概需要4分钟。
内容图文
![jsPlumb+vue创建字段映射关系](/upload/InfoBanner/zyjiaocheng/1018/e5774bfabadf44059ac8e7823588ca46.jpg)
项目中需要将ES数据库表字段和其他库表字段做映射,研究了下jsPlumb,做一下记录;
1: yarn add jsPlumb
2: import {jsPlumb} from ‘jsplumb’
3: `
created(){
this.plumbIns = jsPlumb.getInstance({
Container:"plumbContainer", //选择器id
ConnectionsDetachable: false, // 再次拖动时不取消选择
maxConnections: 1,
uniqueEndpoint:true,
Endpoint: "Dot",
EndpointStyle: { radius: 7, fill: "#fff", outlineRadius: 5, outlineStroke: '#47a3f8', outlineWidth: 3}, //端点样式
EndpointHoverStyle: { fill: '#47a3f8', radius:7 }, // 端点悬停样式
PaintStyle: { // 绘画样式,默认8px线宽 #456
fill: 'white',
outlineStroke: '#47a3f8',
strokeWidth: 2,
outlineStrokeWidth: 3,
radius: 7,
outlineRadius: 10
},
HoverPaintStyle: { // 默认悬停样式 默认为null
outlineStroke: 'lightblue'
},
ConnectorStyle: {
outlineStroke: '#47a3f8',
strokeWidth: 1
},
ConnectorHoverStyle: {
strokeWidth: 2
},
ConnectionOverlays:[ //连线上的默认样式 这里是箭头
["Arrow",{ width: 12, length: 12, location: 1 , paintStyle: {
stroke: '#00688B',
fill: '#00688B',
}
}]
],
Connector:["Straight",{gap:1}] //要使用的默认连接器的类型:折线,流程等
})
},
mounted(){
let ins = this.plumbIns;
ins.batch(() => {
this.initAll();
this.connectionAll();
});
},
methods:{
initAll () {
let rl = this.leftDataListCopy;
for (let i = 0; i < rl.length; i++) {
this.init(rl[i].id, 0)
}
let rl2 = this.rightDataListCopy;
for (let i = 0; i < rl2.length; i++) {
this.init(rl2[i].id, 1)
}
},
// 初始化规则使其可以连线、拖拽
init (id, type) {
let ins = this.plumbIns,
elem = document.getElementById(id);
const defaultParam = {
anchor: ["Perimeter", {anchorCount:200, shape:"Rectangle"}],
allowLoopback: false,
maxConnections: 1,
}
const common = {
// connector: 'Straight',
}
if (type === 1) {
ins.addEndpoint(elem, {
anchors: ['Left'],
uuid: id
}, {...common, isSource: false,isTarget: true})
} else {
ins.addEndpoint(elem, {
anchors: ['Right'],
uuid: id
}, {...common, isSource: true,isTarget: false})
}
ins.draggable(elem,{
containment: true
});
},
connectionAll () {
let ins = this.plumbIns;
ins.ready(() => {
for (let i = 0; i < this.connlist.length; i++) {
let conn = this.connlist[i],
connection = ins.connect({
uuids: [`${conn.sourceNodeId}`, `${conn.targetNodeId}`],
});
}
ins.bind('click', (conn, originalEvent)=> {
this.$confirm('确认删除映射么?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
ins.deleteConnection(conn)
}).catch(()=>{})
})
})
},
}`
参考链接: https://wdd.js.org/jsplumb-chinese-tutorial
https://jsplumbtoolkit.com/community
内容总结
以上是互联网集市为您收集整理的jsPlumb+vue创建字段映射关系全部内容,希望文章能够帮你解决jsPlumb+vue创建字段映射关系所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。