Skip to content

Squelette ​

Espace réservé utilisé tant que les données ne sont pas chargées ; lorsque loading vaut false, le contenu réel est rendu.

Utilisation de base ​

vue
<template>
  <lh-skeleton :loading="loading">
    <view>Contenu réel</view>
  </lh-skeleton>
</template>

<script setup lang="ts">
import { ref } from 'vue'
const loading = ref(true)
</script>

Nombre de lignes et avatar ​

vue
<template>
  <lh-skeleton :loading="true" :rows="4" avatar />
</template>

Désactiver l'animation ​

vue
<template>
  <lh-skeleton :loading="true" :animated="false" :rows="3" />
</template>

Blocs d'espace réservé indépendants ​

lh-skeleton-item peut s'utiliser seul pour assembler une mise en page d'espace réservé personnalisée ; variant prend les valeurs text / rect / circle.

vue
<template>
  <view class="custom-skeleton">
    <lh-skeleton-item variant="circle" class="avatar" />
    <lh-skeleton-item variant="text" class="line" />
  </view>
</template>

Props (lh-skeleton) ​

PropDescriptionTypeValeur par défaut
loadingÉtat de chargement (lorsque false, le contenu réel du slot default est rendu)booleantrue
rowsNombre de lignes de textenumber3
avatarInclure un espace réservé d'avatar circulairebooleanfalse
animatedActiver l'animationbooleantrue
customClassNom de classe personnaliséstring—
sxPropriétés de mise en page rapideLhSxProps—

Props (lh-skeleton-item) ​

PropDescriptionTypeValeur par défaut
variantForme du bloc d'espace réservé'text' | 'rect' | 'circle''text'
animatedActiver l'animationbooleantrue
customClassNom de classe personnaliséstring—
sxPropriétés de mise en page rapideLhSxProps—

Slots (lh-skeleton) ​

SlotDescription
defaultLe contenu réel rendu lorsque loading vaut false

Accessibilité

Le conteneur est marqué aria-busy="true" et aria-live="polite" ; les blocs d'espace réservé sont eux-mêmes masqués des technologies d'assistance ; une fois les données prêtes, le lecteur d'écran annonce automatiquement le contenu réel.