何时使用?
用户与界面的每一次交互都是一次加载,因操作导致的页面跳转、刷新或弹窗等从而使页面元素或信息发生变化行为,页面都需要向服务器发送请求,服务器再返还被调取的信息。这个过程的速度取决于发起的数据请求量的体积或网络速度。 因此我们围绕加载的设计正是这个过程中页面的反馈状态,更多情况下用来缓解用户等待时间内的焦虑感。
基础样式
在加载的过程中,将内容以简单框架的方式优先展现出来,随后呈现加载完成的真实内容,这就是框架加载(Skeleton Screen)。这样的加载方式更好地衔接了从“空页面”到“内容呈现”的过渡,降低了等待中的焦躁情绪,感官上会觉得比其他加载方式更快。
元件级样式
在加载行为中,可以监测到对象的内容属性(图/文/视频),以及每个容器相互的布局结构,但无法识别单一内容的数量长度。所以我们将其对应列表(List)的元件组成方式,用对应的简单图形一一对应不同属性的元件,在相似程度较高的维度间再进行一次简化,最终输出5个对应元件“图标”“文本”“图片”“大图”“操作”。在优先加载的过程中自动匹配相应元件。
组合样式
在加载过程中,优先获取对象的元件属性、布局,进行相应的即时组装,如图是常见4个典型场景
布局样式
上述所有元件集成为一个“内容”,我们为这个内容和容器(也就是白色的卡片底色)设定统一的间距(Padding),在页面级场景中,以列表实际数量进行纵向陈列,即呈现了框架加载整体的面貌
场景示例
当我们把框架加载的实现逻辑定义完成后,不同的业务场景就会自动匹配出对应的样式,无须二次设计加工,让这类加载模式成为一个配置化的选项
动画效果
动画的主要作用是向用户传递加载行为的进行态,详细用例可查看:https://developer.microsoft.com/en-us/fabric#/components/shimmer