Skip to content

Skeleton 骨架屏 ​

資料載入未就緒時的佔位,loading 為 false 時渲染真實內容。

基礎用法 ​

vue
<template>
  <lh-skeleton :loading="loading">
    <view>真实内容</view>
  </lh-skeleton>
</template>

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

行數與頭像 ​

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

關閉動畫 ​

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

獨立佔位塊 ​

lh-skeleton-item 可單獨使用拼裝自訂佔位版面配置,variant 取 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) ​

屬性說明類型預設值
loading是否處於載入態(false 時渲染 default 插槽的真實內容)booleantrue
rows文字行數number3
avatar是否包含圓形頭像佔位booleanfalse
animated是否開啟動畫booleantrue
customClass自訂類別名string—
sx快速版面配置屬性LhSxProps—

Props(lh-skeleton-item) ​

屬性說明類型預設值
variant佔位塊形狀'text' | 'rect' | 'circle''text'
animated是否開啟動畫booleantrue
customClass自訂類別名string—
sx快速版面配置屬性LhSxProps—

Slots(lh-skeleton) ​

插槽說明
defaultloading 為 false 時渲染的真實內容

無障礙

容器標記 aria-busy="true" 與 aria-live="polite",佔位塊自身對輔助技術隱藏;資料就緒後讀屏會自動播報真實內容。