阅读(341) (2)

Vant3 Skeleton 骨架屏

2021-08-10 10:24:31 更新

介绍

用于在内容加载过程中展示一组占位图形。

实例演示

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

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,
    };
  },
};

API

Props

参数 说明 类型 默认值
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 32px
avatar-shape 头像占位图形状,可选值为 square string round

样式变量

组件提供了下列 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 -