空状态
Empty State
布局模式也叫:空页面、无数据状态、缺省页、暂无数据、Empty
一句话:列表、表格或页面没有内容时显示的占位区块,用插图和一句话说明为什么是空的,并给出下一步操作按钮。
详细解释
空状态出现在「还没有任何数据」的时候:新用户第一次打开项目列表、搜索没有结果、筛选后什么都没有、消息全部已读。它通常居中显示一个灰色插图或图标,一行标题(「还没有项目」),一行说明(「创建第一个项目,开始管理你的任务」),再加一个主按钮(「新建项目」)。
它的价值是把死胡同变成引导:如果只留一片空白,用户会以为页面坏了或者还在加载;好的空状态会说清原因,并告诉用户接下来能做什么。
要区分几种不同的「空」:首次使用的空,要引导创建;搜索或筛选无结果的空,要提示换个关键词或清除筛选。加载中、加载失败、没有权限都不属于空状态,应该分别显示加载状态和错误提示,而不是假装「暂无数据」。
示例
灰度线框示意,只表达结构,不代表具体视觉风格。
怎么跟 AI 说
可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。
列表没有数据时显示空状态:在列表区域水平垂直居中,放一个 120px 的灰色线条插图,下方是标题「还没有项目」和一行灰色说明「创建第一个项目,开始管理你的任务」,再下方是主按钮「新建项目」。搜索无结果时改为「没有找到相关结果」并提供「清除筛选」按钮。加载中和加载失败不要显示空状态。
结构与适用场景
结构描述
在内容区中央纵向排列插图或图标、标题、一行说明和一个操作按钮,整体水平垂直居中。
适用场景
- 列表、表格等区域当前没有任何数据时
- 新用户第一次使用、需要引导创建第一条内容时
- 搜索或筛选后没有匹配结果、需要告诉用户下一步怎么办时
不适用场景
- 数据还在加载中时(应该显示加载状态或骨架屏)
- 请求失败或没有权限时(应该显示错误状态)
- 区域里有内容、只是数量较少时
常见坏用法
- 只显示「暂无数据」四个字,没有原因也没有下一步操作
- 数据加载完成前先闪一下空状态,再跳出真实内容
- 接口报错时也显示「暂无数据」,掩盖了真正的问题
识别特征
- 内容区中间一个灰色插图或大图标
- 插图下方是一行标题和一行灰色说明
- 说明下方有一个「新建」「去添加」之类的按钮
DOM 线索
插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。
.ant-empty.el-empty.arco-empty.t-empty.n-empty