跳转到主要内容
Selection Toolbox API 允许扩展在画布上选择节点时添加自定义操作按钮。这为所选项目(节点、组等)提供了对上下文敏感命令的快速访问。

基本用法

要向选择工具箱添加命令,您的扩展需要:
  1. 使用标准命令接口定义命令
  2. 实现 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 仍然存在,但只包含节点