Virtual List
A high-performance virtualized list component that efficiently renders large datasets by only rendering visible items. Perfect for handling thousands of items with smooth scrolling and minimal memory usage.
Pro features
What the Pro version adds to this component.
Blazing Fast Performance
Render millions of items without performance degradation
Memory Efficient
Only render visible items, minimal memory footprint
Infinite Scrolling
Built-in support for infinite scroll and lazy loading
Dynamic Heights
Support for variable height items with estimation
Selection Support
Single and multi-select with click, Shift/Ctrl range selection, and keyboard navigation
Filter-Friendly
Feed VirtualList your filtered or searched subset — it renders large filtered lists efficiently (see the Search example for the client-side filtering pattern)
Installation
Install via CLI
npx @moontra/moonui-cli add virtual-listUsage
Examples
Basic Virtual List
Simple virtual list rendering 10,000 items efficiently
Virtual List with Search
Searchable virtual list with 50,000 users
Infinite Scrolling
Infinite scroll with a custom loader, a custom end message, and an earlier fetch trigger via loadMoreThreshold
Dynamic Height Items
Variable-height items measured at runtime via variableHeight + estimatedItemHeight
Selectable List with Keyboard Selection
SelectableVirtualList with multi-select, Ctrl/Cmd+A select-all, Escape to clear, and a live selection summary
Animated Entry with Stagger
enableAnimations with custom itemEnterAnimation, listAnimation, staggerDelay, a tighter overscan window, and a live onScroll readout