Skeleton 骨架屏
通过 title
属性显示标题占位图,通过 row
属性配置占位段落行数。
<z-skeleton title :row="3" />
通过 avatar
属性显示头像占位图。
<z-skeleton title avatar :row="3" />
将 loading
属性设置成 false
表示内容加载完成,此时会隐藏占位图,并显示 Skeleton
的子组件。
<view class="demo-skeleton-switch">
<z-switch v-model="show" />
</view>
<z-skeleton title avatar :row="2" :loading="!show">
<view class="demo-skeleton-preview">
<image src="https://cdn.zebraui.com/zebra-ui/images/logo.png" />
<view class="demo-skeleton-content">
<view class="title">标题</view>
<view class="desc"
>zebra-swiper 是基于uniapp开发的一款移动端轮播组件。</view
>
</view>
</view>
</z-skeleton>
import { ref } from 'vue'
const show = ref(false)
.demo-skeleton {
color: var(--z-text-color);
&-switch {
margin-bottom: 30rpx;
}
&-preview {
display: flex;
image {
flex-shrink: 0;
width: 100rpx;
height: 100rpx;
}
}
&-content {
margin-top: 16rpx;
.title {
font-size: 36rpx;
line-height: 50rpx;
}
.desc {
font-size: 26rpx;
line-height: 40rpx;
}
}
}
通过 template
插槽完成自定义内容的展示。
<z-skeleton>
<template #template>
<view :style="{ display: 'flex', width: '100%' }">
<z-skeleton-image />
<view :style="{ flex: 1, marginLeft: '32rpx' }">
<z-skeleton-paragraph row-width="60%" />
<z-skeleton-paragraph />
<z-skeleton-paragraph />
<z-skeleton-paragraph />
</view>
</view>
</template>
</z-skeleton>
参数 | 说明 | 类型 | 默认值 |
---|
row | 段落占位图行数 | number | string | 0 |
row-width | 段落占位图宽度,可传数组来设置每一行的宽度 | number | string | (number | string) | 100% |
title | 是否显示标题占位图 | boolean | false |
avatar | 是否显示头像占位图 | boolean | false |
loading | 是否显示骨架屏,传 false 时会展示子组件内容 | boolean | true |
animate | 是否开启动画 | boolean | true |
round | 是否将标题和段落显示为圆角风格 | boolean | false |
title-width | 标题占位图宽度 | number | string | 40% |
avatar-size | 头像占位图大小 | number | string | 64rpx |
avatar-shape | 头像占位图形状,可选值为 square | string | round |
参数 | 说明 | 类型 | 默认值 |
---|
round | 是否将段落显示为圆角风格 | boolean | false |
row-width | 段落占位图宽度 | string | 100% |
参数 | 说明 | 类型 | 默认值 |
---|
round | 是否将标题显示为圆角风格 | boolean | false |
title-width | 标题占位图宽度 | number | string | 40% |
参数 | 说明 | 类型 | 默认值 |
---|
avatar-size | 头像占位图大小 | number | string | 64rpx |
avatar-shape | 头像占位图形状,可选值为 square | string | round |
参数 | 说明 | 类型 | 默认值 |
---|
image-size | 图片占位图大小 | number | string | 64rpx |
image-shape | 图片占位图形状,可选值为 square | string | round |
名称 | 说明 |
---|
default | 骨架屏内容 |
template | 自定义内容 |
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|
--z-skeleton-paragraph-height | 32rpx | - |
--z-skeleton-paragraph-background | var(--z-active-color) | - |
--z-skeleton-paragraph-margin-top | var(--z-padding-sm) | - |
--z-skeleton-title-width | 40% | - |
--z-skeleton-avatar-size | 64rpx | - |
--z-skeleton-avatar-background | var(--z-active-color) | - |
--z-skeleton-duration | 1.2s | - |
--z-skeleton-image-size | 192rpx | |
--z-skeleton-image-radius | 48rpx | - |