Lewati ke konten utama

Load When Visible

Inertia mendukung lazy loading data pada scroll menggunakan Intersection Observer API. Komponen WhenVisible memuat data ketika elemen menjadi terlihat di viewport.

Basic usage

Komponen menerima prop data yang menentukan prop mana yang akan dimuat dan prop fallback untuk status loading.

Vue:

<WhenVisible data="permissions">
<template #fallback><div>Loading...</div></template>
<div v-for="permission in permissions"><!-- ... --></div>
</WhenVisible>

React:

<WhenVisible data="permissions" fallback={() => <div>Loading...</div>}>
<PermissionsChildComponent />
</WhenVisible>

Loading multiple props

Sediakan array ke prop data:

<WhenVisible data={['teams', 'users']} fallback={() => <div>Loading...</div>}>
<ChildComponent />
</WhenVisible>

Loading before visible

Gunakan prop buffer untuk mulai memuat sebelum elemen terlihat (dalam piksel):

<WhenVisible data="permissions" buffer={500}>
<PermissionsChildComponent />
</WhenVisible>

Custom wrapper

Ubah elemen wrapper dengan prop as:

<WhenVisible data="products" as="span">
<!-- ... -->
</WhenVisible>

Always trigger

Prop always memicu loading data setiap kali elemen menjadi terlihat:

<WhenVisible data="products" always>
<!-- ... -->
</WhenVisible>