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

@antv/x6 限制节点或者子节点的移动范围

1、先上个图,来自官方网站:https://x6.antv.antgroup.com/zh/examples/node/group/#restrict-movement

说明:图中的child只能在Parent的范围内进行移动,这个效果不错,在一些定制的场合中会用到。

2、代码:
 

import { Graph } from '@antv/x6'

const graph = new Graph({
  container: document.getElementById('container'),
  grid: true,
  translating: {
    restrict(view) {
      const cell = view.cell
      if (cell.isNode()) {
        const parent = cell.getParent()
        if (parent) {
          return parent.getBBox()
        }
      }

      return null
    },
  },
})

const child = graph.addNode({
  x: 120,
  y: 80,
  width: 80,
  height: 40,
  label: 'Child',
  zIndex: 10,
  attrs: {
    body: {
      stroke: 'none',
      fill: '#3199FF',
    },
    label: {
      fill: '#fff',
      fontSize: 12,
    },
  },
})

const parent = graph.addNode({
  x: 40,
  y: 40,
  width: 640,
  height: 160,
  zIndex: 1,
  label: 'Parent\n(try to move me)',
  attrs: {
    label: {
      refY: 120,
      fontSize: 12,
    },
    body: {
      fill: 'transparent',
      stroke: '#ffe7ba',
    },
  },
})

parent.addChild(child)

3、说明:

这个是指定节点的移动范围,更加方便,如果碰到了需要节点在某一个范围内进行移动,不出这个rect(x,y,width,height)的区域,只要定义的时候指定restrict = 矩形区域,就可以完成。


http://www.kler.cn/a/299707.html

相关文章:

  • 005 单点登录
  • qt内部的特殊技巧【QT】
  • 用HTML、CSS和JavaScript实现庆祝2025蛇年大吉(附源码)
  • Julia 之 @btime 精准测量详解
  • 团体程序设计天梯赛-练习集——L1-025 正整数A+B
  • Kmesh v1.0 正式发布
  • git的使用和gdb工具
  • Xilinx系FPGA学习笔记(六)RAM的IP核学习
  • uni-app实现web-view和App之间的相互通信
  • BRAS介绍
  • tio websocket 客户端 java 代码 工具类
  • 编译u-boot报错configuration written to .config
  • CCS12.2 以及以上版本如何使用C2000ware 4.03版本,发现直接导入工程不能正确识别地址变量?
  • openssl+keepalived安装部署
  • 基于Java+SpringBoot+Vue+MySQL的美容美发管理系统
  • C语言补习课——文件篇
  • 聚簇索引和二级索引
  • 哪些旋转机械会用到本特利振动传感器
  • iOS的传递链与响应链机制
  • 我是如何将 Java 基础 docker 镜像大小从 674Mb 优化到 58Mb的
  • 解锁中东市场新蓝海:Bigo社交媒体如何赋能APP广告营销优势
  • Ubuntu 22.04 make menuconfig 失败原因
  • 计算机毕业设计选题推荐-班级管理系统-教务管理系统-Java/Python项目实战
  • OpenSNN推文:《从沙粒到超级大脑:一步步揭开芯片的秘密》
  • SprinBoot+Vue兼职发布平台的设计与实现
  • vue el-dialog嵌套解决无法点击问题