做产品 PMaker
空格的键盘
选一个
待处理▾
待处理
已完成
下拉选择
走到第几步
填写确认完成
步骤条
内容太多
‹ 1 2 3 ›
分页
不想离开当前页
抽屉

组件不用发明,认全了再谈选哪个。每个组件都对应一类具体的问题。

Common Components

Components are previous generations' fixed answers to common problems. Know them all and your job is picking from a few mature options, not reinventing every time.

What you will run into
  • 描述界面时只会说「加个框」「加个按钮」,做出来跟想的不一样
  • 选了个不合适的组件,用户操作起来别扭但说不清哪里不对
  • 同样的问题,产品里三个地方用了三种不同的组件

Know Components by the Problem

要解决的问题可选的组件
从一组里选一个单选、下拉选择、分段控件、单选卡片
从一组里选多个复选框、标签多选、穿梭框
输入内容单行输入、多行文本、富文本、数字步进、日期选择
内容太多装不下分页、无限滚动、折叠面板、标签页
要展示一批数据列表、表格、卡片网格、时间轴
补充信息不打断抽屉、气泡、工具提示、内联展开
必须打断模态弹窗、全屏确认页
告诉用户结果轻提示、全局横幅、状态标签、进度条
多步任务步骤条、向导、分段表单
找东西搜索框、筛选器、排序、快捷入口
"Focus" is the one most often skipped — it decides whether keyboard users can use your product at all. In AI-generated components, disabled and focus are the two states most likely to be missing.

Easy to Get Wrong

几组容易选错的,判断线其实都很硬 从一组里选一个 单选按钮 下拉 下拉 + 搜索 少于 5 个,一眼全看见 5 到 20 个,省空间 超过 20 个 要立刻做决定吗 是 → 弹窗,打断主流程 否 → 抽屉,不打断上下文 要精确定位吗 是 → 分页(后台几乎都该用) 否 → 无限滚动,随便浏览 字段多且要对比吗 是 → 表格 否 → 卡片(移动端必然) 按问题记比按名字记有用——真正要练的是看到一个需求,能立刻说出「这是从一组里选一个的问题」。 组件不是一个静态样式,是一组状态。AI 生成的组件里,disabled 和 focus 是最容易缺的两个。
"Focus" is the one most often skipped — it decides whether keyboard users can use your product at all. In AI-generated components, disabled and focus are the two states most likely to be missing.

Every Component Has States

A component isn't one static style, it's a set of states. Once you pick a component, work through these states together with it.

默认 悬停 按下 聚焦 不可点 处理中…
输入框还要多两个:报错态(红边框加提示文字)和只读态。列表要多四个:空、加载、出错、有数据。
"Focus" is the one most often skipped — it decides whether keyboard users can use your product at all. In AI-generated components, disabled and focus are the two states most likely to be missing.