很多人做Variants一开始很爽,后面发现:找不到想要的状态、属性命名混乱、Auto Layout一改就溢出。解决思路是:先定属性体系,再做布局规则。
推荐属性:Type(Primary/Secondary/Text)、State(Default/Hover/Disabled/Loading)、Size(S/M/L)、Icon(None/Left/Right)。这样组件面板里可以筛选属性,而不是靠记名字。
把最常用的组合设置为默认:比如Type=Primary,State=Default,Size=M。这样拖出组件时默认就是80%场景,减少你每次都要改属性的成本。
按钮类组件建议:内边距固定(如12/16),文字Hug contents,容器Hug contents,间距固定。不同Size只改Padding与字体大小,不要在某些变体里把宽度写死。
Icon属性建议做成None/Left/Right三种。做法:在布局里预留图标位,但仅在需要时显示;或把图标层作为可切换的Boolean属性(如果你的版本支持)。关键是:不要靠手动隐藏导致尺寸不一致。
Hover/Disabled/Loading通常只需要改颜色、透明度、光标与文案,不要在某个状态里突然换布局结构,否则实例切换状态时会跳动。
1) 属性是否可筛选?2) 默认值是否覆盖多数场景?3) Auto Layout是否统一?4) 状态切换是否不跳动?5) 组件名称是否语义清晰?做到这五点,你的Variants就能长期维护。