旋转加载指示器
Spinner
初级通用旋转加载指示器(Spinner)是任务进行中反复转动的小图形,通常不表示完成了多少。它让你在等待搜索、提交等结果时知道系统还在处理,而不是误以为操作没有生效。
你可能会说:「点了生成按钮后,结果出来前能不能有个转圈的提示,让用户知道还在处理?」
动手看看搜索结果的等待状态
先看搜索框下方持续旋转的指示器,再把「任务状态」切到已完成;调转速或节奏会自动重播。这里用状态控件模拟请求进度,搜索按钮仅演示按下反馈。
处理中只表示系统仍在工作;转了多少圈不代表搜索完成了多少,别把它当进度条。
匀速转动比较平稳,适合这种需要反复循环、又不想抢注意力的等待提示。
要点什么时候用旋转加载指示器?
- 1
表示正在处理而非处理进度
你可以把 Spinner 理解成“还在忙”的信号。它反复旋转,但转过几圈不对应任务完成了多少;因为没有可靠的进度数据,所以它不能告诉用户还要等多久。
- 2
放在与等待任务相关的位置
如果只是在刷新一张报表,我们把指示器放在报表区域,其他操作仍可继续。只有整个页面都暂时无法使用时,才考虑覆盖更大范围,这样用户能看出到底哪里在等待。
- 3
让等待状态有开始也有结束
请求发出后可以显示 Spinner,拿到结果、报错或取消后就把它移走,并展示对应状态。光有转圈还不够,配上“正在生成”等文字,也能让看不到动画的用户知道发生了什么。
容易混淆的地方
Spinner 和进度条都表示等待,但进度条适合展示可计算的完成比例;Spinner 只说明任务尚未结束。它也不是骨架屏:骨架屏用占位布局提示内容将出现在哪里,更适合页面或列表初次加载。比如生成一段 AI 回复时,我们可以用 Spinner 表示正在处理,却不能让它暗示回复已完成了一半。
什么时候用
适合用
- 在后台点击“重新计算报表”后,计算时间不确定,可以在报表区域显示 Spinner,直到结果或错误返回。
- 用户提交登录表单后,需要等待服务器验证,可以在提交按钮旁显示 Spinner,说明这次提交正在处理。
- AI 工具开始生成图片、但还没有可展示的结果时,可以在结果区域显示 Spinner 和“正在生成”。
不适合用
- 文件上传能获取已上传字节数时,用进度条更合适,用户可以据此判断进展,而不只是看到它还在转。
- 商品列表首次加载且页面布局已确定时,可以用骨架屏占住图片和文字的位置,让用户知道内容会出现在哪里。
- 点击导航链接后立即进入新页面、没有需要等待的异步任务时,不必加 Spinner,直接完成页面切换即可。
练一练选一个答案,看看解释
你在做一个 AI 图片生成页。点击“生成”后,服务器处理时间不确定,期间没有中间结果;成功后展示图片,失败时显示错误。等待状态怎么设计?
让 AI 帮你做复制给 AI Agent 直接用
请在 AI 图片生成页的结果区域加入旋转加载指示器(Spinner):点击“生成”且请求进行中时显示,并配文“正在生成”;成功后展示图片,失败后展示错误,取消请求后也结束加载状态。不要用旋转圈数表示进度。