Skip to content

Virtualized

With enableVirtualization the table shows every row in a scroll area and renders only the ones in view.

Theron
Littel-Kreiger
herbert43@gmail.com
Barrowsland
157805
Althea
Leannon
reuben_hettinger@yahoo.com
Grahamworth
169941
Garret
Corkery
sven51@hotmail.com
Faustochester
101799
Ronaldo
Welch
ana80@gmail.com
Port Andreburgh
150459
Nikita
Pagac
elwin.lubowitz@gmail.com
North Judgecester
60388
Jeremiah
Bechtelar
tony_lindgren@yahoo.com
Rodrigoboro
39597
Golden
Glover
natasha24@yahoo.com
West Maeside
122671
Pattie
Rempel
coty.mertz22@gmail.com
East Alexandreachester
42724
Elliot
Padberg
camille25@gmail.com
Braunchester
49502
Alfonso
Waelchi
kristi14@hotmail.com
West Cierra
68515
Monty
Koch
janet_pouros94@yahoo.com
Lake Rosie
156700
Jacob
Wisozk
olga_heaney81@yahoo.com
South Brycen
46404
Osvaldo
Kihn
britney_gutkowski@hotmail.com
New Virgieview
170471
Garth
Gusikowski
henderson.klocko57@yahoo.com
Lake Sylvester
177552
Marcia
McKenzie
paris.damore@gmail.com
South Otiliaside
148775
Kacey
Pfeffer
jessica_hamill@yahoo.com
Aubreeville
99802
Darby
Paucek
brooke54@gmail.com
East Elsastad
36245
Thaddeus
Witting
kaycee_yost@yahoo.com
Lake Artcester
140243
Brendan
Parker
briana.steuber5@yahoo.com
Port Marques
99380
Christiana
Moen
otto_dubuque31@gmail.com
Denver
94095
Nedra
Quitzon
joany65@yahoo.com
Cartwrightview
126405
10000 of 10000
Virtualized.svelte
<script lang="ts">
import { ShadcnHeadlessTable, type HeadlessColumnDef } from 'shadcn-svelte-headless-table';
import { type Person, makeData } from '../data/makeData';
const columns: HeadlessColumnDef<Person>[] = [
{ accessor: 'firstName', header: 'First Name' },
{ accessor: 'lastName', header: 'Last Name' },
{ accessor: 'email', header: 'Email', width: 260 },
{ accessor: 'city', header: 'City' },
{ accessor: 'salary', header: 'Salary', align: 'end', width: 140 },
];
// 10,000 rows, of which only the ones in view are in the DOM.
const data = makeData(10_000);
</script>
<ShadcnHeadlessTable {columns} {data} enableVirtualization height={420} />