Skip to content

t-skeleton

Skeleton 骨架屏

组件介绍

t-skeleton 用于在页面加载过程中展示占位效果,通过 Canvas 绘制矩形和圆形元素,配合动画效果提升用户体验。支持自定义骨架结构配置和闪烁动画。

平台兼容

HarmonyH5AndroidiOS小程序UTS

基础用法

基础用法参考 demo/skeleton/skeleton.uvue,通过 option 属性配置骨架结构,支持矩形和圆形两种元素类型。

vue
<template>
  <view class="skeleton-demo">
    <t-skeleton :option="skeletonOption" :animate="true"></t-skeleton>
  </view>
</template>

<script setup>
const skeletonOption = [
  { type: 'circle', x: 20, y: 20, radius: 30 },
  { type: 'rect', x: 70, y: 15, width: 0.6, height: 20 },
  { type: 'rect', x: 70, y: 45, width: 0.4, height: 15 },
  { type: 'rect', x: 20, y: 80, width: 0.9, height: 100 },
  { type: 'rect', x: 20, y: 190, width: 0.9, height: 15 },
  { type: 'rect', x: 20, y: 215, width: 0.7, height: 15 }
];
</script>

<style scoped>
.skeleton-demo {
  padding: 20rpx;
  height: 300rpx;
}
</style>

Props

属性名说明类型默认值
path点击组件后跳转的页面路径;为空时仅响应事件string''
hover是否启用点击效果booleanfalse
type组件主题类型,可选 infoprimaryerrorwarningsuccessstring''
disabled是否禁用booleanfalse
effect组件显示主题,可选 normaldarklightplainstring'normal'
size组件尺寸,可选 largemediumsmallministring'medium'
option骨架结构配置数组,定义矩形和圆形元素的位置和尺寸UTSJSONObject[][]
animate是否启用闪烁动画效果booleantrue

Option 配置项说明

属性名说明类型
type元素类型,rect 矩形 / circle 圆形string
x元素 X 坐标(像素)number
y元素 Y 坐标(像素)number
width矩形宽度,小数表示相对于容器宽度的比例number
height矩形高度(像素)number
radius圆形半径(像素)number

Events

事件名说明回调参数
transitionend动画结束时触发-