
空状态分三种
空状态至少有三类,处理方式完全不同:新用户还没产生数据、筛选或搜索没有命中、以及用户主动清空了所有内容。把它们混成一个插图加一句话,用户就得不到有效指引。
新用户的空状态应该承担引导作用。说明这里会出现什么、第一步做什么、完成之后能看到什么,三句话都要具体到当前页面。配一个明确的操作按钮,而不是一句开始使用吧。
搜索和筛选无结果的空状态要帮用户改进条件。给出当前生效的筛选条件,提示可以放宽哪一项,或者提供相近的关键词建议。把生效条件原样列出来,比只写一句没有找到结果有用得多。让用户知道为什么没有结果,比反复展示没有数据有用得多。
错误信息要可执行
错误兜底最忌讳只显示一个通用异常。用户既不知道发生了什么,也不知道自己能做什么,只能反复刷新或直接离开。
按错误类型给不同的出口。网络问题提供重试;权限问题说明需要申请哪种权限或联系谁;数据不存在给出返回列表的入口;服务端故障给出稍后再试并说明是否会保留已填内容。
错误页面尽量保留导航。整页白屏加一句出错,用户连去别处都做不到,只能关掉页面。已填内容的处理也要提前说明,用户才会愿意重新尝试。保留顶部导航和返回入口,成本很低。
骨架屏和加载占位的用法
骨架屏适合结构固定的列表和卡片。用灰色块按真实布局占位,内容出现时不会整页跳动,视觉上更平稳。
结构不固定的内容不要用骨架屏。占位块和真实内容差异过大时,页面会明显跳变,反而让人怀疑加载错了。这种情况用一个简洁的居中加载提示更好。
列表分页加载时,页脚要给出明确反馈。加载中显示状态,加载完显示没有更多了,失败时给出重试按钮。三者缺一个,用户就会一直往下拉,或者以为程序坏了。
文案与视觉的分寸
空状态文案要短,一句话说清现状,一句话给出动作。不要写欢迎来到某某平台这类没有信息量的开场,也不要长篇介绍产品理念,用户此刻只想知道下一步点哪里。避免在这一刻追问操作是否满意,用户还没有完成任何事,问也问不出有效信息。
插图或图标的尺度要克制。文案比插图更该先写,图画得再好,也说不出当前是哪种空状态。大面积装饰在空页面上很显眼,但容易挤压真正有用的说明和按钮,尤其是小屏设备上。
把这些状态在开发前就列进设计稿,是避免上线后才发现一片空白的最实际的做法。
每个列表页、每个详情页、每个表单,都标记出至少四种状态:有数据、无数据、加载中、出错。写进设计稿清单,开发时就不会只实现有数据那一种。


