跳到主要内容
前端术语库

空状态

Empty State

布局模式也叫:空页面、无数据状态、缺省页、暂无数据、Empty

一句话:列表、表格或页面没有内容时显示的占位区块,用插图和一句话说明为什么是空的,并给出下一步操作按钮。

详细解释

空状态出现在「还没有任何数据」的时候:新用户第一次打开项目列表、搜索没有结果、筛选后什么都没有、消息全部已读。它通常居中显示一个灰色插图或图标,一行标题(「还没有项目」),一行说明(「创建第一个项目,开始管理你的任务」),再加一个主按钮(「新建项目」)。

它的价值是把死胡同变成引导:如果只留一片空白,用户会以为页面坏了或者还在加载;好的空状态会说清原因,并告诉用户接下来能做什么。

要区分几种不同的「空」:首次使用的空,要引导创建;搜索或筛选无结果的空,要提示换个关键词或清除筛选。加载中、加载失败、没有权限都不属于空状态,应该分别显示加载状态和错误提示,而不是假装「暂无数据」。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

列表没有数据时显示空状态:在列表区域水平垂直居中,放一个 120px 的灰色线条插图,下方是标题「还没有项目」和一行灰色说明「创建第一个项目,开始管理你的任务」,再下方是主按钮「新建项目」。搜索无结果时改为「没有找到相关结果」并提供「清除筛选」按钮。加载中和加载失败不要显示空状态。

结构与适用场景

结构描述

在内容区中央纵向排列插图或图标、标题、一行说明和一个操作按钮,整体水平垂直居中。

适用场景

  • 列表、表格等区域当前没有任何数据时
  • 新用户第一次使用、需要引导创建第一条内容时
  • 搜索或筛选后没有匹配结果、需要告诉用户下一步怎么办时

不适用场景

  • 数据还在加载中时(应该显示加载状态或骨架屏)
  • 请求失败或没有权限时(应该显示错误状态)
  • 区域里有内容、只是数量较少时

常见坏用法

  • 只显示「暂无数据」四个字,没有原因也没有下一步操作
  • 数据加载完成前先闪一下空状态,再跳出真实内容
  • 接口报错时也显示「暂无数据」,掩盖了真正的问题

识别特征

  • 内容区中间一个灰色插图或大图标
  • 插图下方是一行标题和一行灰色说明
  • 说明下方有一个「新建」「去添加」之类的按钮

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • .ant-empty
  • .el-empty
  • .arco-empty
  • .t-empty
  • .n-empty