加载状态Loading State
刷新失败了,刚才已经看到的客户资料也必须清空吗?
加载状态描述资料或任务尚未取得最终结果的阶段,需要说明等待范围、是否有旧数据、能做哪些动作以及怎样处理异常。Spinner、骨架屏和进度条只是加载状态的不同呈现,不能由外观推断成功、空结果或失败。
告诉人现在在等什么。手里已有资料就标明它还是旧的,别一等新数据就把能看的东西全遮掉。
等最新版价目表时,旧表可以保留并注明日期;等不到新表,不代表旧表从未存在。
类比到这里为止:旧数据是否可以继续使用取决于业务风险。关键实时状态不能因为旧表仍在就被当成最新确认。
打开询盘列表时先显示等待;刷新列表时可保留上次成功读取的内容,说明更新中。失败后保留旧内容与更新时间,明确这次刷新未成功。
一次读取至少区分这些状态
- 首次等待
- 还没有可展示结果,说明在读取什么。
- 成功有内容或为空
- 按实际返回分别展示,零条需要成功依据。
- 刷新中
- 已有内容可以保留,说明可能尚未更新。
- 读取失败
- 说明这次读取未完成,提供对应重试,不冒充零条。
状态要跟随当前请求
用户快速切换对象时,晚到的旧响应不能覆盖已经选中的新对象。等待、错误与完成都应对应本次任务或当前对象,而不是一个全站共用的布尔值。
下面的课堂名单演示首次加载与刷新失败。另一组“反馈”和“结果页”演示写入任务的未知回执;查询重试与重复创建记录有不同风险。
刷新失败了,刚才已经看到的客户资料也必须清空吗?
可以操作,也可以重试。数据为虚构示例,不连接真实业务系统。
正在准备当前演示,正文可以继续阅读。
继续看项目应用与交付检查
加载状态 在项目中负责什么
- 什么时候用
- 首次读取、刷新或异步处理使当前信息暂时不完整时。
- 它解决什么
- 让用户理解可用内容与等待内容,避免把未知、空和错误混为一谈。
- 它不负责什么
- 取消浏览器请求不保证服务端任务已撤销。自动重试需考虑操作是否安全,写入任务超时先核对,不能无限重发。
- 放进真实项目
- 客户详情加载时保留页面骨架,超时后改为可重试错误而非无限旋转。
加载状态应缩小不确定性,等待过久时要转为可恢复的解释
客户详情从 CRM 拉取可能需要一秒,跨系统汇总可能更久;两者不能都用无限全屏旋转。
- 01
只遮住真正等待的区域。
- 02
按可估算程度选择骨架、文本或进度。
- 03
设置超时、重试和离开后的状态保存。
等待有范围,旧数据有标记,结束有真实结果。
容易混淆的地方
加载是状态,Spinner 和 Skeleton 是表现;首次加载与后台刷新也不同,不能每次都把整页换成骨架。
询盘列表已有上次读取的资料,本次刷新失败。合适的界面是什么?
你可以这样告诉 AI Agent
我在处理这件事:客户详情加载时保留页面骨架,超时后改为可重试错误而非无限旋转。请以“加载状态”为主线,先说明它在这里负责什么、不负责什么;再列出必要输入、建议动作和可验证结果。用外贸独立站的业务语言回答,不确定的信息标为待确认。
内容依据与延伸
本站用原创中文解释把专业概念映射到外贸独立站;定义和机制继续以官方资料为准,业务例子再回到 外贸独立站询盘优化实战 验证。
本站整理说明:原创整理:Web 开发、产品设计、AI 协作与外贸独立站实践