基本用法
要向选择工具箱添加命令,您的扩展需要:- 使用标准命令接口定义命令
- 实现
getSelectionToolboxCommands
方法来指定工具箱中显示哪些命令
getSelectionToolboxCommands
方法会为选择集中的每个项目调用。
命令定义
选择工具箱的命令使用标准的 ComfyUI 命令接口:function
接收选定的项作为参数,允许您对当前选择执行操作。
图标选项
选择工具箱按钮支持与其他 UI 元素相同的图标库:- PrimeVue 图标:
pi pi-[icon-name]
(例如pi pi-star
) - Material Design 图标:
mdi mdi-[icon-name]
(例如mdi mdi-content-copy
)
动态命令可见性
每次选择更改时都会调用getSelectionToolboxCommands
方法,允许您根据选择的内容显示不同的命令:
使用选定的项目
通过应用程序的画布对象访问有关选定项目的信息。selectedItems
属性是一个 Set,包含节点、组和其他画布元素:
完整示例
这是一个展示各种选择工具箱功能的简单示例:注意事项
- 必须在设置中启用选择工具箱:
Comfy.Canvas.SelectionToolbox
- 在
getSelectionToolboxCommands
中引用命令之前,必须在commands
数组中定义命令 - 选择更改时工具箱会自动更新
- 每当进行新选择时,
getSelectionToolboxCommands
方法会为选择集中的每个项目调用 - 使用
app.canvas.selectedItems
(一个 Set)来访问所有选定的项目,包括节点、组和其他画布元素 - 为了向后兼容,
app.canvas.selected_nodes
仍然存在,但只包含节点