DeferredContent 会延迟加载最初不在视口中的内容,直到滚动使其可见。
import DeferredContent from 'primevue/deferredcontent';
DeferredContent 通过包装目标来使用。
<DeferredContent @load="onImageLoad">
<img src="/images/nature/nature4.jpg" alt="Nature" class="rounded-xl w-full md:w-96 block sm:mx-auto" />
</DeferredContent>
一个实际示例,当表格在视口中可见时触发获取。
<DeferredContent @load="onDataLoad" role="region" aria-live="polite" aria-label="Content loaded after page scrolled down">
<DataTable :value="products">
<Column field="code" header="Code"></Column>
<Column field="name" header="Name"></Column>
<Column field="category" header="Category"></Column>
<Column field="quantity" header="Quantity"></Column>
</DataTable>
</DeferredContent>
DeferredContent 可以用于许多用例,因此不强制执行任何角色,事实上,如果该卡仅用于演示目的,则可能不需要角色。任何有效的属性都会传递到容器元素,因此您可以完全控制角色,例如 地标 和 aria-live 等属性。
<DeferredContent role="region" aria-live="polite" aria-label="Content loaded after page scrolled down">
Content
</DeferredContent>
组件不包含任何交互元素。