diff --git a/.playground/pages/composant/datatable/datatable.vue b/.playground/pages/composant/datatable/datatable.vue index c833aab..13f1171 100644 --- a/.playground/pages/composant/datatable/datatable.vue +++ b/.playground/pages/composant/datatable/datatable.vue @@ -47,6 +47,20 @@ const paginatedItems = computed(() => { function onRowClick(item: Record) { alert(`Clic sur ${item.nom} ${item.prenom} (id: ${item.id})`) } + +const bigPage = ref(1) +const bigPerPage = ref(10) +const bigItems = Array.from({ length: 310 }, (_, i) => ({ + id: i + 1, + nom: `Nom ${i + 1}`, + prenom: `Prénom ${i + 1}`, + ville: ['Paris', 'Lyon', 'Marseille'][i % 3], + montant: 500 + i * 7, +})) +const bigPaginated = computed(() => { + const start = (bigPage.value - 1) * bigPerPage.value + return bigItems.slice(start, start + bigPerPage.value) +}) + +
+

Gros volume (31 pages) — saut de page

+ + + +

Page courante : {{ bigPage }} / {{ Math.ceil(bigItems.length / bigPerPage) }}

+
diff --git a/app/story/datatable/datatable.story.vue b/app/story/datatable/datatable.story.vue index 764753b..a1e165e 100644 --- a/app/story/datatable/datatable.story.vue +++ b/app/story/datatable/datatable.story.vue @@ -49,6 +49,22 @@ + +
+ + + +
+
+
{ function onRowClick(item: Record) { alert(`Clic sur ${item.nom} ${item.prenom}`) } + +const bigPage = ref(1) +const bigPerPage = ref(10) +const bigItems = Array.from({ length: 310 }, (_, i) => ({ + id: i + 1, + nom: `Nom ${i + 1}`, + prenom: `Prénom ${i + 1}`, + ville: ['Paris', 'Lyon', 'Marseille'][i % 3], + montant: 500 + i * 7, +})) +const bigPaginated = computed(() => { + const start = (bigPage.value - 1) * bigPerPage.value + return bigItems.slice(start, start + bigPerPage.value) +})