基本操作
添加一个设置项
id 必须在所有扩展中唯一,并将用于获取设置值。
如果你没有指定分类,那么 id 会通过 . 分割来决定它在设置面板中的显示位置。
- 如果你的
id不包含.,它会显示在”其他”分类下,并以你的id作为分组标题。 - 如果你的
id至少包含一个.,最左边的部分会作为设置分类,第二部分作为分组标题,后续部分会被忽略。
读取设置项
响应设置变化
当用户在设置面板中更改设置时,onChange() 事件处理器会被立即调用。
每次页面加载、扩展注册时也会调用。
写入设置项
额外配置
每种设置类型都会渲染一个 ComfyUI 前端表单组件。可以在attrs 字段中为该组件传入额外属性。各类型支持的属性见类型一节。
例如,下面限制了数字输入框的范围和步长:
showButtons、maxFractionDigits、editable 或 filter 等 PrimeVue 属性,请参阅 PrimeVue 移除迁移指南。设置面板已不再使用 PrimeVue 组件,这些属性不会生效。
类型
布尔值(Boolean)
显示一个开关。文本(Text)
自由文本输入。数字(Number)
用于输入数字。 输入框始终显示增减按钮。支持的attrs 有 min、max、step 和 formatOptions。formatOptions 接受 Intl.NumberFormatOptions,因此可以用 maximumFractionDigits 控制显示的小数位数。
滑块(Slider)
允许用户直接输入数字或通过滑块选择。 支持的attrs 有 min、max 和 step。不支持区间。
下拉选择(Combo)
允许用户从下拉列表中选择。 你可以用纯字符串或带text 和 value 字段的对象提供选项。如果只提供字符串,则会同时作为显示和实际值。
通过 searchable: true 属性允许用户搜索列表。不支持分组和自定义文本输入。
颜色(Color)
允许用户通过颜色选择器选择颜色或输入十六进制颜色值。 注意格式必须为六位十六进制(带透明度时为八位),不支持三位简写。图片(Image)
允许用户上传图片。 设置会以 data URL 格式保存。隐藏(Hidden)
隐藏设置不会显示在设置面板,但你可以在代码中读写它们。其他
分类(Categories)
你可以通过category 字段单独指定设置的分类,与 id 无关。
这样可以在不更改 id 的情况下调整分类和命名,不会丢失用户已设置的值。
工具提示(Tooltips)
你可以通过tooltip 字段添加额外的上下文帮助。这会在字段名后显示一个小的 ℹ︎ 图标,用户悬停时会显示帮助文本。