组件属性与组合
组件属性让实例使用者在明确的接口内配置内容。你可以把它理解为面向设计者的参数契约,但需要遵守 Figma 自己的属性模型。
按职责选择属性
| 属性类型 | 适合公开什么 | 案例 |
|---|---|---|
| Text | 文案 | Button 的 Label |
| Boolean | 指定图层可见性 | 是否显示辅助徽章 |
| Instance swap | 可替换的嵌套主组件 | Card 的 Artwork |
| Variant | 组件集的变体维度 | Card 的 State |
| Slot | 指定区域的可变内容结构 | 复杂面板的可扩展内容区 |
当前组件属性已有 Slot;不要依据旧教程认为只有四种。本站核心样例使用 Text、Variant、Instance swap,避免为了展示功能而引入不必要的组合。
属性声明与图层绑定是两步
给按钮添加 Label 属性,还需要把内部文字的 characters 绑定到这个属性。只声明不绑定,面板里虽然出现输入框,画面却可能不变。
给卡牌添加 Artwork 后,需要让嵌套 Symbol 实例的主组件引用这个属性。状态显隐由外层 Artwork 容器控制,避免交换内容时破坏显隐职责。
读取实际 API
Figwright 的 get_component_api 返回实际属性名。属性键可能含 # 后缀,不能从显示名称凭空拼接。先读取,再把返回的键用于 set_instance_properties。
请读取主按钮的 get_component_api。
确认 Label 属性及其内部文字绑定,然后创建实例。
把文案改为“继续第 12 关”,读回属性和文字内容。
截图检查按钮宽度、居中与文字溢出。
ID 与 key 不能混为一谈
节点 ID 用于定位当前文件对象;组件 key 用于识别可导入的组件。某个工具参数需要哪一种,以实际 schema、官方 API 和读回结果判断。若返回“属性值与类型不兼容”,先检查值类型和引用格式,不要反复提交相同参数。
本次制作中,INSTANCE_SWAP 属性默认值使用本地组件节点 ID 成功;工具描述中的泛化示例不能替代对具体对象的验证。教程不要求背记这次的 ID,复现时应重新读取。
练习与检查
让 AI 新增一个布尔属性控制可选提示标记。检查属性是否真的绑定了 visible。再说明为什么“是否已经完成关卡”不能只靠这个视觉布尔属性替代服务端记录。
依据:组件属性、Figma 组件属性 API。核查:2026-10-31。