当前位置: 首页 > news >正文

合肥网站建设新浪营销网站服务器用什么好处

合肥网站建设新浪营销,网站服务器用什么好处,做网站赚钱什么类型,研究生院 网站 建设先大致定下节点样式#xff0c;需要展示标题#xff0c;输入/输出连接桩#xff0c; 参考样子大概是 https://x6.antv.antgroup.com/examples/showcase/practices#class 这是根据antv x6配置 非自定义节点 图表案例 结果 数据格式大概是 nodes:[{title:鸟,id:node1,ports… 先大致定下节点样式需要展示标题输入/输出连接桩 参考样子大概是 https://x6.antv.antgroup.com/examples/showcase/practices#class 这是根据antv x6配置 非自定义节点 图表案例 结果 数据格式大概是 nodes:[{title:鸟,id:node1,ports:[{title:羽毛,id:port-1},{title:羽毛,id:port-1}], }]接下来开始新建index,ts存放画布配置等信息 1、优化节点数据(index.js) 这个是画布节点关键信息需要处理成graph需要的格式下一步渲染到画布 // 画布节点数据 export const NODE_DATA {nodes: [{id: node1, // String可选节点的唯一标识。。...nodeName: 节点1,x: 40, // Number必选节点位置的 x 值y: 40, // Number必选节点位置的 y 值。ports:[{id: port-1,name: portparams1,},{id: port-2,name: portparams2,},]},{id: node2, // String可选节点的唯一标识。。...nodeName: 节点2,x: 300, // Number必选节点位置的 x 值y: 100, // Number必选节点位置的 y 值。ports:[{id: port-1,name: portparams1,},{id: port-2,name: portparams2,},]},],edges: [] }2、将节点信息渲染进画布 (index.vue) 增加的代码有注释标注下一步处理格式 import {NODE_DATA,formatData } from ./index;//节点信息及处理节点格式方法放在index.js内在下一个步骤const nodeData reactive(NODE_DATA) const refreshData (data){const cells: Cell[] []data.nodes.forEach((item: any) {cells.push(graph.createNode(formatData(item)))//需要将node节点数据处理成createNode接收的格式})data.edges?.forEach((item: any) {cells.push(graph.createEdge(item))})graph.resetCells(cells)graph.centerContent()graph.zoomToFit({ padding: 10, maxScale: 1 }) } const graphInit (){graph new Graph({container: document.getElementById(container)!,});refreshData(nodeData)//将取过来的节点信息创建到画布 }3、将节点数据转化为createNode接收的格式(index.js) 下一步需要配置连接桩的格式 export function formatData(params: any) {const portLength params?.ports?.length || 1const portItems params?.ports?.map((item, index) ({id: item.id,// 连接桩唯一 ID默认自动生成。group: port,// 分组名称指定分组后将继承分组中的连接桩选项。name: item.name,args: {x: 160,y: (index 1) * 25 8,angle: 45,},// 为群组中指定的连接桩布局算法提供参数, 我们不能为单个连接桩指定布局算法但可以为群组中指定的布局算法提供不同的参数。})) || []return {id: params.id,shape: node-item,x: params.x,//节点x轴位置y: params.y,//节点y轴位置width: 160,//节点宽度height: (portLength 1) * 25 10,//节点高度data: params,//用来自定义节点展示节点信息及节点连接桩信息ports: {groups: COMMON_GROUP_OPTION,//连接桩样式items: [...portItems],},} }4、节点样式node.vue templatediv classnodeitemdiv classnodetitle{{ data?.nodeName }}/divdivv-for(item,index) in data?.ports:keyindexclassnodeport{{ item.name }}/div/div /template script setup langts import { inject, onMounted,ref } from vue; import { Node } from antv/x6interface InoutDTO {id?: stringname: string } interface NodeDTO {id?: stringnodeName: stringports: InoutDTO[] }const getNode: Function | undefined injectFunction(getNode); const data refNodeDTO|undefined(undefined) onMounted(() {const node getNode?.() as Node;data.value node?.getData() }); /script style scoped *{font-size: 12px } .nodetitle{height: 25px;line-height: 25px;font-weight: 600;color: #fff;background: #6b94f7; } .nodeport{padding: 0 6px;line-height: 25px;background: #f0f4fe;border-bottom: 1px solid #fff;text-align: center; } /style5、连接桩配置(index.js) export const COMMON_GROUP_OPTION {port:{markup: [{tagName: rect,//矩形selector: portBody,},],position: {name: absolute,args: { x: 0, y: 0 },//相对节点绝对定位在formatData有重置位置},attrs: {//样式portBody: {width: 6,height: 6,strokeWidth: 2,stroke: #6A93FF,fill: #fff,magnet: true,},},zIndex: 3,}, }6、最后配置一下画布连接规则(index.js) // 画布配置 export const GRAPH_CONFIG {autoResize: true,panning: {enabled: true,// 没有导出类型 EventTypeeventTypes: [leftMouseDown] as any,// rightMouseDown},highlighting: {// 高亮magnetAvailable: {name: stroke,args: {attrs: {portBody: {stroke: #ccc,},},},},magnetAdsorbed: {// port自动吸附跟snap一起用name: stroke,args: {attrs: {stroke: #31d0c6,},},},}, } // 连线配置 export const CONNECTING_CONFIG {snap: {radius: 30,},allowBlank: false,allowLoop: false,allowNode: false,allowEdge: false,allowMulti: true,highlight: true,anchor: orth,connector: rounded,connectionPoint: boundary,router: {name: er,args: {offset: 25,direction: H,},}, }index.vue内 import { GRAPH_CONFIG, CONNECTING_CONFIG, NODE_DATA,formatData } from ./index; const graphInit (){graph new Graph({container: document.getElementById(container)!,...GRAPH_CONFIG,connecting: { // 连线规则...CONNECTING_CONFIG,createEdge() {return new Shape.Edge({attrs: {line: {stroke: #E3EEFF,strokeWidth: 2,},},})},}});refreshData(nodeData) }7、最后呈现样式
http://www.w-s-a.com/news/89654/

相关文章:

  • 怎么做虚拟的网站东莞常平邮编是多少
  • 电子商务网站和普通网站的区别正规网站建设多少费用
  • 郴州免费招聘网站前端好还是后端好
  • 织梦网站怎样做子域名20个中国风网站设计欣赏
  • wordpress网站搬简约创意logo图片大全
  • 叙述网站制作的流程石家庄58同城最新招聘信息
  • 南昌微信网站建设东莞网站优化软件
  • 爱站数据官网纯静态网站挂马
  • 网站建设公司未来方向3d设计网站
  • 建设部网站 干部学院 一级注册建筑师培训 2014年做网站开发的提成多少钱
  • 网上请人做软件的网站铝合金型材外发加工网
  • 手机网站建设万网山东省作风建设网站
  • 网站策划专员招聘50万县城做地方网站
  • 网站开发公司+重庆wordpress自定义搜索界面
  • 梅州南站学校官网
  • 网站变灰代码 所有浏览器企业邮箱域名怎么填写
  • 网站建设哪好旅行社网站模板
  • 网站开发发展存在的问题交换链接营销的经典案例
  • 烟台高端网站建设公司福田市网站建设推广
  • 做网站如何保证询盘数量智慧城市
  • 大连网站平台研发wordpress更改地址
  • 做标书要不要做网站南昌网站排名优化费用
  • 网站内容如何自动关联新浪微博万网域名信息
  • 网站出售网络推广服务费计入什么科目
  • 宁波咨询网站设计西安网站制作开发
  • 深圳市专注网站建设全网营销网络推广
  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的