滚动画布
上一篇
框选
下一篇
小地图
Loading...
使用 Scroller 插件时会默认禁用画布的 panning 拖拽平移能力以避免冲突。
你可以通过插件 Scroller 启用画布滚动能力,示例:
import { Graph, Scroller } from '@antv/x6'const graph = new Graph({background: {color: '#F2F7FA',}})graph.use(new Scroller({enabled: true,}),)
| 属性名 | 类型 | 默认值 | 必选 | 描述 |
|---|---|---|---|---|
| pannable | boolean | false | 是否启用画布平移能力(在空白位置按下鼠标后拖动平移画布) | |
| className | string | - | 附加样式名,用于定制样式 | |
| width | number | - | Scroller 的宽度,默认为画布容器宽度 | |
| height | number | - | Scroller 的高度,默认为画布容器高度 | |
| modifiers | ModifierKey | - | 设置修饰键后需要点击鼠标并按下修饰键才能触发画布拖拽 | |
| pageWidth | number | - | 每一页的宽度,默认为画布容器宽度 | |
| pageHeight | number | - | 每一页的高度,默认为画布容器高度 | |
| pageVisible | boolean | false | 是否分页 | |
| pageBreak | boolean | false | 是否显示分页符 | |
| autoResize | boolean | true | 是否自动扩充/缩小画布。开启后,移动节点/边时将自动计算需要的画布大小,当超出当前画布大小时,按照 pageWidth 和 pageHeight 自动扩充画布。反之,则自动缩小画布 | |
| minVisibleWidth | number | - | 当 padding 为空时有效,设置画布滚动时画布的最小可见宽度 | |
| minVisibleHeight | number | - | 当 padding 为空时有效,设置画布滚动时画布的最小可见高度 | |
| padding | number | Padding | - | 设置画布四周的 padding 边距。默认根据 minVisibleWidth 和 minVisibleHeight 自动计算得到,保证画布滚动时,在宽度和高度方向至少有 minVisibleWidth 和 minVisibleHeight 大小的画布可见 |
上面的 Padding 类型定义如下:
type Padding = { top: number; right: number; bottom: number; left: number }
ModifierKey 的类型定义如下:
type ModifierKey = string | ('alt' | 'ctrl' | 'meta' | 'shift' | 'space')[] | null
支持以下几种形式:
alt 表示按下 alt。[alt, ctrl] 表示按下 alt 或 ctrl。alt|ctrl 表示按下 alt 或 ctrl。alt&ctrl 表示同时按下 alt 和 ctrl。alt|ctrl&shift 表示同时按下 alt 和 shift 或者同时按下 ctrl 和 shift。禁止滚动。
启用滚动。
获取滚动条位置。
设置滚动条位置。
left?: number 水平滚动条的位置,缺省时表示水平方向不滚动。top?: number 垂直滚动条的位置,缺省时表示垂直方向不滚动。例如:
graph.setScrollbarPosition(100)graph.setScrollbarPosition(100, null)graph.setScrollbarPosition(null, 200)graph.setScrollbarPosition(100, 200)