Skip to content

Skeleton 骨架屏

在页面加载数据时显示骨架占位,提升用户体验。支持自定义行数、行宽、头像、标题和动画效果。

平台兼容性

App(vue)App(nvue)H5小程序

代码示例

基础用法

默认显示 3 行骨架屏,带加载动画。

html
<see-skeleton :loading="true">
  <text>加载完成的内容</text>
</see-skeleton>

自定义行数

通过 rows 属性控制骨架行数。

html
<see-skeleton :rows="5" />

自定义行宽度

支持字符串统一宽度或数组每行不同宽度。

html
<!-- 统一宽度 -->
<see-skeleton row-width="80%" />

<!-- 每行不同宽度 -->
<see-skeleton :row-width="['100%', '80%', '60%']" />

标题模式

开启 title 后,第一行会以更高的高度渲染为标题占位。

html
<see-skeleton :title="true" :rows="3" />

头像 + 标题

支持头像占位,可搭配标题模式使用。

html
<!-- 圆形头像 -->
<see-skeleton :avatar="true" :title="true" :rows="3" />

<!-- 方形头像 -->
<see-skeleton :avatar="true" avatar-shape="square" :title="true" :rows="3" />

关闭动画

设置 isAnimatefalse 可关闭骨架屏的闪烁动画。

html
<see-skeleton :is-animate="false" />

加载完成

loading 设为 false 即可显示实际内容插槽。

html
<see-skeleton :loading="isLoading">
  <view>
    <text>实际内容</text>
  </view>
</see-skeleton>

API

Props

参数说明类型默认值可选值
loading是否显示骨架屏(加载中)booleantruetrue / false
rows骨架屏行数number3正整数
row-width每行的宽度string | string[]-CSS 宽度值
row-height行高string'32rpx'CSS 高度值
row-gap行间距string'20rpx'CSS 间距值
avatar是否显示头像占位booleanfalsetrue / false
avatar-size头像大小string'80rpx'CSS 尺寸值
avatar-shape头像形状'circle' | 'square''circle'circle / square
title是否显示标题占位booleanfalsetrue / false
is-animate是否启用骨架动画booleantruetrue / false
skeleton-bg-color骨架背景色string'var(--see-info)'CSS 颜色值
highlight-color动画高亮色string'var(--see-bg-color)'CSS 颜色值

Slots

名称说明
defaultloadingfalse 时显示的实际内容

辽 ICP 备 2025070134 号