Skip to content

PathEditor 配置 ​

基础     事件     样式 ​

关键属性 ​

keyEvent: boolean ​

是否接收键盘事件(如方向键移动),默认为 true。

angleSnapCreateKey: IShortcutKeysCheck ​

创建固定角度直线的快捷键钩子函数,默认为 shiftKey。

ts
angleSnapCreateKey(event) {
    return event.shiftKey
}

angleSnapGap?: number ​

按住 angleSnapCreateKey 快捷键,创建路径的角度吸附间隔(需按住),默认为 15 度。

freeCreateHandleKey: IShortcutKeysCheck ​

创建路径过程中可以自由调整手柄的快捷键(需按住),默认为 altKey。

ts
freeCreateHandleKey(event) {
    return event.altKey
}

freeHandleKey: IShortcutKeysCheck ​

编辑路径时可自由调整手柄的快捷键(需按住),默认为 ctrlKey 和 mateKey。

ts
freeHandleKey(event) {
    return event.ctrlKey || event.mateKey
}

mirrorHandleKey: IShortcutKeysCheck ​

编辑路径时可对称镜像调整手柄的快捷键(需按住),默认为 altKey。

ts
mirrorHandleKey(event) {
    return event.altKey
}

beforeCreate: IPathEditorBeforeCreate ​

创建 PathNode 节点事件的前置钩子函数(同时会影响 hover 节点)。

参数 data 为将创建的节点坐标(内部坐标系) 数据 { x, y }。

返回 false 时将忽略本次编辑操作,返回 { x, y } 时将修改移动操作数据。

ts
beforeCreate(data) {
    const { x, y } = data
    return true // return false | { x, y }  内部坐标系
}

beforeSelect: IPathEditorBeforeSelect ​

选择 PathNode 节点事件的前置钩子函数。

参数 data 为选择数据 { targetNode }。

返回 false 时将忽略本次选择操作,返回 targetNode 时将修改选择数据。

ts
beforeSelect(data) {
    const { targetNode } = data // targetNode 可以为单个节点或多个节点,需要自己判断一下
    return true // return false | targetNode
}

beforeMove: IPathEditorBeforeMove ​

移动 PathNode 节点事件的前置钩子函数。

参数 data 为增量操作(内部坐标系)数据 { targetNode, x, y }。

返回 false 时将忽略本次编辑操作,返回 { x, y } 时将修改移动操作数据。

ts
beforeMove(data) {
    const { targetNode, x, y } = data
    return true // return false | { x, y }  内部坐标系
}

Released under the Commercial License Agreement.