组件
延迟渲染 Deferred Content
DeferredContent:延迟渲染内容。占位符接近视口前,插槽不进入 DOM;接近后挂载一次并保留。占位符由调用方通过 placeholder 插槽绘制,因此迟到内容不会带来无法预测的布局偏移。
#基础用法
Scroll down — the panel mounts on approach.
Waiting below the fold…
<script setup lang="ts">
import { DeferredContent } from "@bysages/vue";
</script>
<template>
<div class="h-64 overflow-y-auto rounded-md border border-border p-4">
<p class="m-0 text-sm text-tertiary">Scroll down — the panel mounts on approach.</p>
<div class="h-48" />
<DeferredContent>
<template #placeholder>
<p class="m-0 text-sm text-tertiary">Waiting below the fold…</p>
</template>
<p class="m-0 rounded-md border border-dashed border-border p-4 text-sm">
Mounted on approach.
</p>
</DeferredContent>
</div>
</template>
#属性
#DeferredContent
DeferredContent:延迟渲染内容。占位符接近视口前,插槽不进入 DOM;接近后挂载一次并保留。占位符由调用方通过 placeholder 插槽绘制,因此迟到内容不会带来无法预测的布局偏移。
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
threshold | Number as PropType<number> | 0.2 | 内容挂载前占位元素需要达到的可见比例;0 表示任意像素可见,1 表示完整可见 |