当前位置: 首页 > news >正文

Figma的组件系统是如何工作的?

Figma 组件系统的核心是主组件-实例引用模型 + 变体与属性驱动 + 差异覆盖与同步机制 + 嵌套与组件库,底层靠唯一 ID、差异存储与响应式依赖追踪,实现“一处修改、全文档/全库同步”。下面分模块讲清楚它如何工作。


一、核心模型:主组件(Main Component)+ 实例(Instance)

1. 主组件(模板)

  • 定义:唯一的“母版”,存于 Assets 面板,紫色实心菱形图标。
  • 内容:固定图层结构、基础样式、默认属性、嵌套关系
  • 本质:一个带唯一 componentId 的节点树,作为所有实例的数据源。

2. 实例(引用)

  • 定义:主组件的轻量引用副本,紫色空心菱形图标。
  • 存储:不存完整结构,只存主组件 ID + 与主组件的差异(Overrides),文件体积极小。
  • 同步:主组件修改 → 所有实例自动响应式更新(反向依赖追踪)。
  • 限制:实例不能改图层结构(增删图层、改嵌套),只能改属性;可整体缩放。

3. 底层数据结构(简化)

// 主组件
{"id": "comp-btn","type": "COMPONENT","children": [...], // 完整图层树"styles": { ... }
}// 实例(仅存差异)
{"id": "inst-1","type": "INSTANCE","componentId": "comp-btn", // 指向主组件"overrides": {"fill": "#f00", // 覆盖主组件颜色"text": "提交"  // 覆盖文本}
}

二、变体(Variants):组件集(Component Set)

1. 概念

  • 同一组件的不同状态/尺寸/主题打包成一个“组件集”,避免建多个独立组件。
  • 例:按钮的 默认/悬停/禁用小/中/大主色/次色 都放进一个组件集。

2. 变体属性(Variant Properties)

  • 给组件集定义可枚举的属性(如 size: small/largestate: default/hover)。
  • 每个变体是属性值的唯一组合,实例可直接下拉切换。

3. 优势

  • 统一管理:所有状态在一处,修改一次全量同步
  • 减少组件数量:避免文件里一堆零散组件。

三、四大组件属性(Component Properties)

让实例可受控自定义,且不破坏主组件结构。

  1. 文本属性(Text)
    • 主组件内文本层暴露为变量,实例可改文字内容。
  2. 布尔属性(Boolean)
    • 控制图层显示/隐藏(如“是否显示图标”)。
  3. 变体属性(Variant)
    • 切换组件集内不同变体(状态、尺寸)。
  4. 实例交换(Instance Swap)
    • 主组件内嵌套的子组件,实例可直接替换为同类型其他组件(如下拉换图标)。

四、覆盖(Overrides)与同步机制

1. 差异覆盖

  • 实例修改的属性(颜色、文本、尺寸)会被记录为 overrides不再跟随主组件同步
  • 未修改的属性永远继承主组件,主组件改则实例改。

2. 反向同步(Push Overrides)

  • 实例的自定义属性可反向推送给主组件,一键同步到所有实例。

3. 依赖追踪(Materializer)

  • 底层响应式系统,只更新变化的节点,不整树重绘,保证大文件流畅。

五、嵌套组件(Nested Components)

  • 组件内部可放其他组件实例,形成层级化设计系统
  • 例:卡片组件里嵌套按钮、头像、文本组件。
  • 同步规则:改最内层组件 → 所有父级嵌套实例逐层同步

六、组件库(Team Library)

  • 组件可发布为共享库,跨文件、跨项目、跨团队复用。
  • 版本控制:库更新后,使用实例可选择升级或保留旧版
  • 权限:可设置编辑/查看权限,保证设计规范统一。

http://www.jsqmd.com/news/899433/

相关文章:

  • Figma组件系统的优势有哪些?
  • 嵌入式 - 数据结构与算法:(1-14)排序算法 - 冒泡/选择/快速/希尔排序对比
  • 2026实测横评:无水印视频下载神器怎么选?免费好用的无水印视频下载工具有哪些?6大维度深度对比 - 科技热点发布
  • 战略落地难?别让“空中楼阁”拖垮你的团队
  • 《原神》剧情又长又不能跳?试试这款开源免费“自动跳过”神器 | 支持6.6版本
  • Windows系统hid.dll文件丢失找不到问题解决
  • 2026年包头吊车租赁/吊车包月/吊车台班出租TOP榜单:全吨位吊装设备厂家优选与重型租赁服务深度解析 - 品牌企业推荐师(官方)
  • 2026年全国跨境POD定制系统优选服务商深度评测:从“制造”到“智造”,谁在定义柔性供应链的未来? - 资讯纵览
  • 从图纸到模型:SolidWorks Electrical 如何打通电气设计的“任督二脉”
  • 3分钟学会强制调整窗口大小:告别无法缩放的烦恼
  • 2026年泉州外贸推广公司十大服务商评测:乐振科技凭“询盘兜底”成黑马,AI搜索时代谁在真帮企业拿订单? - 资讯纵览
  • 论文降AI率4款工具对比:2026年5月知网维普AI痕迹实测 - 我要发一区
  • Ansys学习-静力学-day4
  • 基于调制运动模糊的车辆速度估计:WDPMVA算法与MOIM硬件设计
  • 手把手教你注册GitHub账号——开启开源世界的第一步
  • 别再用老掉牙的猫狗数据集了!用TensorFlow 2.1+Python 3.6,从数据清洗到模型调优的完整避坑指南
  • VIVADO AXI DMA SG模式实战:从描述符链表到高速数据流环通
  • 2026西安碑林区财税咨询机构怎么选?3家本地靠谱机构实测对比! - 小柏云
  • 一物一码防窜货系统哪家强?看这几个能力维度 - 纳宝科技一物一码
  • 4款主流降AI工具知网维普实测对比:2026年5月降AI率排行榜 - 我要发一区
  • 2026年烟台职教高考技工学校排行:合规与实力双维度盘点 烟台职教高考学校排名 2026 - 奔跑123
  • 视频去水印方法大全:手机电脑哪款软件好用?2026实测免费安全推荐 - 体验家
  • 为什么你的提问总被帮助中心“忽略”?揭秘ChatGPT知识库匹配逻辑与4步精准提问公式
  • 2026年 钢结构厂家/工程公司推荐榜单:辽宁/吉林钢结构施工,车间与建筑项目实力优选! - 品牌企业推荐师(官方)
  • 一个在线模拟GET,POST,PUT,DELET请求的HTTP在线接口测试工具
  • 目前口碑好的家政保洁品牌推荐
  • 2026年 烟台春季高考培训学校排行 基于办学与升学的实测对比 烟台春季高考培训机构排名 - 奔跑123
  • AI职业导航系统上线(独家内测版):基于2376份真实职业轨迹数据生成的个性化跃迁热力图
  • 临近毕业4款降AI软件实测:哪个真的去ai痕迹,哪个是智商税 - 我要发一区
  • 大数据转大模型主要是为了保命,拥抱大模型,别等到2026年才后悔!