用于在内容加载过程中展示一组占位图形。
通过以下方式来全局注册组件,更多注册方式请参考组件注册。
import { createApp } from 'vue';
import { Skeleton } from 'vant';
const app = createApp();
app.use(Skeleton);
通过 title 属性显示标题占位图,通过 row 属性配置占位段落行数。
<van-skeleton title :row="3" />
通过 avatar 属性显示头像占位图。
<van-skeleton title avatar :row="3" />
将 loading 属性设置成 false 表示内容加载完成,此时会隐藏占位图,并显示 Skeleton 的子组件。
<van-skeleton title avatar :row="3" :loading="loading">
<div>实际内容</div>
</van-skeleton>
import { ref, onMounted } from 'vue';
export default {
setup() {
const loading = ref(true);
onMounted(() => {
loading.value = false;
});
return {
loading,
};
},
};
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
row | 段落占位图行数 | number | string |
|
row-width | 段落占位图宽度,可传数组来设置每一行的宽度 | number | string | |
|
title | 是否显示标题占位图 | boolean |
|
avatar | 是否显示头像占位图 | boolean |
|
loading | 是否显示骨架屏,传 false 时会展示子组件内容 | boolean |
|
animate | 是否开启动画 | boolean |
|
round | 是否将标题和段落显示为圆角风格 | boolean |
|
title-width | 标题占位图宽度 | number | string |
|
avatar-size | 头像占位图大小 | number | string |
|
avatar-shape | 头像占位图形状,可选值为 | string |
|
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|---|---|
--van-skeleton-row-height | 16px | - |
--van-skeleton-row-background-color | var(--van-active-color) | - |
--van-skeleton-row-margin-top | var(--van-padding-sm) | - |
--van-skeleton-title-width | 40% | - |
--van-skeleton-avatar-size | 32px | - |
--van-skeleton-avatar-background-color | var(--van-active-color) | - |
--van-skeleton-animation-duration | 1.2s | - |