骨架屏 Skeleton

在需要等待加载内容的位置提供一个占位图形组合。

骨架屏由标题、段落、头像三部分组成,分别由 titleparagraphavatar 属性控制该部分的显隐;标题和段落默认显示,头像默认不显示。

该组件主要适用于以下几种场景:

  1. 网络较慢,需要长时间等待加载处理的情况下。
  2. 图文信息内容较多的列表/卡片中。
  3. 只在第一次加载数据的时候使用。
  4. 可以被 Loading 组件完全代替,但是在可用的场景下可以比 Loading 组件提供更好的视觉效果和用户体验。

基础用法

加载完成后展示的内容需放在插槽中,通过设置 loading 属性为 true 时,显示骨架屏占位图;反之则直接展示插槽内容。默认值为 true

a

示例代码

  1. <l-skeleton
  2. loading="{{true}}"
  3. rows="3"
  4. >
  5. <!-- 插槽内容 -->
  6. <view/>
  7. </l-skeleton>

设置段落占位图的行数

通过 rows 属性设置段落占位图的行数。默认值为 0

示例代码

  1. <l-skeleton
  2. loading="{{true}}"
  3. rows="3"
  4. >
  5. <!-- 插槽内容 -->
  6. <view/>
  7. </l-skeleton>

设置段落及标题占位图宽度及高度

通过设置 title-width 属性修改标题占位图的宽度。默认值为父容器宽度的 50%

通过设置 rows-width 属性修改段落占位图的宽度。段落占位图最后一行宽度默认值为父容器的 70% ,其余行默认宽度为 100%

通过设置 rows-height 属性修改段落占位图的宽度。段落占位图每一行高度默认为 34rpx

rows-widthrows-height 属性可接收数组和字符串。若为数组时则为对应的每行宽度和高度,反之则是最后一行的宽度和高度。

a

示例代码

  1. <l-skeleton
  2. loading="{{true}}"
  3. rows="3"
  4. title-width="240rpx"
  5. rows-width="{{['240rpx','240rpx','120rpx']}}"
  6. rows-height="100rpx"
  7. >
  8. <!-- 插槽内容 -->
  9. <view/>
  10. </l-skeleton>

设置头像占位图

通过设置 avatar 属性可显示头像展示图。默认值为 false

通过 avatar-shapeavatar-size 属性可设置头像占位图的形状和大小。

a

示例代码

  1. <l-skeleton
  2. loading="{{true}}"
  3. avatar="{{true}}"
  4. avatar-size="32rpx"
  5. avatar-shape="circle"
  6. rows="3"
  7. >
  8. <!-- 插槽内容 -->
  9. <view/>
  10. </l-skeleton>

展示动画效果

通过设置 active 属性为 false 可关闭占位图动画效果,默认值为 true

示例代码

  1. <l-skeleton
  2. loading="{{true}}"
  3. paragraph="{{true}}"
  4. title="{{true}}"
  5. avatar="{{true}}"
  6. avatar-size="32rpx"
  7. avatar-shape="circle"
  8. rows="3"
  9. active="{{false}}"
  10. >
  11. <!-- 插槽内容 -->
  12. <view/>
  13. </l-skeleton>

骨架屏属性 (Skeleton Attributes)

参数说明类型可选值默认值版本号
loadingtrue 时,显示占位图。反之则直接展示子组件Boolean—-true0.7.2
active是否展示动画效果Boolean—-true0.7.2
paragraph是否显示段落占位图Boolean—-true0.7.2
rows设置段落占位图的行数String—-00.7.2
rows-width设置段落占位图的宽度String/Array—-60%0.7.2
rows-height设置段落占位图的高度String/Array—-34rpx0.7.2
title是否显示标题占位图Boolean—-true0.7.2
title-width设置标题占位图的宽度String—-50%0.7.2
avatar是否显示头像占位图Boolean—-false0.7.2
avatar-size设置头像占位图大小String—-32rpx0.7.2
avatar-shape设置头像占位图形状Stringcircle/squarecircle0.7.2

骨架屏外部样式类 (Skeleton ExternalClasses)

外部样式类名说明备注版本号
l-class覆盖骨架屏整体的外部样式类—-0.7.2
l-title-class覆盖标题部分的外部样式类—-0.7.2
l-row-class覆盖段落内每一行的外部样式类—-0.7.2
l-avatar-class覆盖头像部分的外部样式类—-0.7.2