从零搭建可复用的设计组件库:命名、约束与交付清单

01 先定义范围:组件库不是“把所有页面都做一遍”

在动手之前先回答三个问题:组件库服务谁(业务线/产品/多端)、覆盖哪些界面层级(基础/模式/页面模板)、交付给谁(设计师/前端/外包/运营)。范围越清晰,后续命名、拆分和维护成本越低。

建议用“80/20”原则:优先覆盖 80% 的高频组件(按钮、输入框、弹窗、表格、导航、卡片),剩下 20% 的长尾先用规范约束,等业务稳定再沉淀。

02 命名规则:统一语言 + 结构化层级

命名是可复用的第一道门槛。推荐采用“组件名/变体/状态/尺寸”的结构,例如:Button / Primary / Hover / M。命名尽量英文(或中英文对照)并保持词性一致:名词做组件名(Button、Input),形容词做变体(Primary、Danger),动词描述交互(Loading、Disabled)。

层级建议三层:Foundation(颜色/字号/间距等 Token)→ Components(可组合的小部件)→ Patterns(业务常见组合,如筛选条、卡片列表)。这样新增需求时能判断应该改 Token、改组件,还是新增 Pattern。

03 组件拆分:把“可变的”做成属性,把“固定的”做成结构

拆分时优先把变化归为属性(Variants/Props),而不是复制多份组件。常见可变项:尺寸(S/M/L)、层级(Primary/Secondary/Tertiary)、语义(Success/Warning/Danger)、形状(圆角/直角)、内容(图标/文本/左右布局)。

反过来,结构尽量稳定:按钮的内边距、图标与文字间距、默认高度等,用约束锁住。结构稳定才能在全局替换时不“炸版”。

04 约束与自适应:为“最长文案”和“最小空间”做设计

组件库最常见的问题是:demo 好看,但真实数据一上就溢出。建议每个组件都至少验证四类极端场景:超长文案、空数据、异常数据(很长的数字/邮箱/URL)、窄屏(移动端或侧栏)。

输入框要明确:是否允许换行、是否截断、是否显示清除按钮、错误提示占不占位。按钮要明确:最小宽度、是否允许两行、loading 时是否锁宽。

05 Token 化:颜色/字号/间距先统一,再谈“主题”

如果团队未来要做多主题(品牌色/暗色/节日皮肤),Token 是唯一可控的路径。建议最少覆盖:Color(文本/背景/边框/状态色)、Typography(字号/行高/字重)、Spacing(4/8/12/16…)、Radius、Shadow、Z-index。

命名建议语义化:Color.Text.Primary 比 Color.Gray.900 更好迁移;同时保留少量基础色板用于插画或数据可视化。

06 交付清单:让设计交付“可落地”,不是“可截图”

每次发布组件库版本,建议固定输出一份交付清单:

1)本次新增/变更/废弃的组件列表;2)对应的使用说明(适用场景 + 禁用场景);3)关键参数(尺寸、间距、状态);4)交互说明(hover/active/focus/disabled/loading);5)对前端的实现建议(布局方式、截断规则、边界条件);6)回归检查点(哪些页面需要复测)。

07 维护机制:版本号 + 变更记录 + 负责人

组件库不是一次性项目,而是持续产品。建议建立最小维护机制:按月或按迭代发布版本号(例如 1.3.0),并维护变更记录(Changelog)。每个组件至少有一个负责人(owner),避免“谁都能改、结果没人敢用”。

当某个组件需要破坏性调整时,先提供兼容期:保留旧组件一段时间,并给出迁移指南。这样团队会更愿意跟随组件库演进。

08 快速自检:发布前 5 分钟检查表

发布前快速过一遍:命名一致、变体齐全、状态齐全、极端文案不炸、对齐和间距遵循 Token、说明文档可读、封面/示例图清晰、变更记录已更新。

做到这些,你的组件库会越来越像“工具”,而不是“素材”。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功