Separate data volume from UI nodes
VirtualList computes the visible range and overscan from the scroll position. The host supplies the row count and a row factory. The framework handles range changes while rows use normal DOM, styling and events. The workspace demonstrates this with 10,000 synthetic records.
Three layers for different tasks
Use VirtualList for custom rows, ListView for list selection behavior, and TreeView for hierarchy and expansion through a visible-node projection. These are core C++ components linked through Kui::Kui; no separate virtual-component library is required.
Dynamic updates and scroll positioning
The components provide count updates, insertion, removal, refresh and index positioning. Keep data and indices in sync and manage selection according to the app’s needs. Fixed-height rows allow direct offset calculation; variable-height mode uses a height callback and needs testing with real content.
Something unclear?
Report an issue on this page →