VirtualList
Source-backed VirtualList observing canLoadLeading at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Source-backed VirtualList observing canLoadTrailing at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Source-backed VirtualList observing canLoadLeading, canLoadTrailing at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Source-backed VirtualList observing items at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Source-backed VirtualList observing items, canLoadLeading at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Source-backed VirtualList observing items, canLoadTrailing at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Source-backed VirtualList observing items, canLoadLeading, canLoadTrailing at the next frame cutoff. Sources remain caller-owned; compatible nodes retain editing, focus, and scrolling state. Literal arguments keep their existing contracts. Equal source values do not re-evaluate this component. The complete modifier chain stays on the actual component; the wrapper delegates parent data and owns the sibling key. Keep sources and dedicated editing states outside observed callbacks. Evaluation and input failures follow ordinary runtime cleanup.
Emits a fixed-row virtual viewport backed by a known finite indexed source.
Only visible rows plus one overscan row on each edge are constructed and retained. state supports index and key jumps and exposes its ScrollState for a separately placed optional Scrollbar. Data access and row construction are owner-thread operations performed immediately before a dirty measure pass.
Receiver
active owner-thread UI scope.
Parameters
non-negative known source size.
indexed item accessor called only for materialized rows.
stable key accessor called only for materialized rows and key validation.
optional efficient key resolver; the default scans keys without materializing row content.
caller-owned navigation and shared scroll state.
exact positive viewport size.
positive fixed logical row height.
positive wheel multiplier.
whether upward boundary input emits a leading load request through modifier.
whether downward boundary input emits a trailing load request through modifier.
active viewport behavior.
optional stable sibling identity.
deferred callback that emits exactly one row root.
Type Parameters
immutable row model type.
stable row key type.
Emits a fixed-row virtual viewport backed by a caller-owned dynamic indexed source.
itemCount is sampled exactly once while this description is created and once after each explicit VirtualListState.refresh. itemAt, keyAt, and indexOfKey are read only against the most recently sampled non-negative count. Complete a source mutation before calling VirtualListState.refresh on its owner thread. Refresh reconstructs the materialized rows even when the count is unchanged and preserves the last visible stable key and its intra-row offset when that key remains. A refresh requested before attachment is retained until a list attaches. Only visible rows plus one overscan row on each edge are constructed and retained.
Receiver
active owner-thread UI scope.
Parameters
owner-thread source-size accessor returning a non-negative count at each explicit sampling boundary.
indexed item accessor for the current sampled source revision.
stable key accessor for the current sampled source revision.
optional efficient resolver for the current source revision; null scans keyAt within the sampled count.
caller-owned navigation, invalidation, and shared scroll state.
exact positive viewport size.
positive fixed logical row height.
positive wheel multiplier.
whether upward boundary input emits a leading load request through modifier.
whether downward boundary input emits a trailing load request through modifier.
active viewport behavior.
optional stable sibling identity.
deferred callback that emits exactly one row root.
Type Parameters
row model type owned by the caller.
stable row key type.
Throws
when a sampled item count is negative or a non-null resolved key index is outside that sample.
when refresh or data access violates the owner-thread contract.
Emits a fixed-row virtual viewport backed by an immutable in-memory list.
Receiver
active owner-thread UI scope.
Parameters
immutable source snapshot; callers must replace rather than mutate it while attached.
stable row key mapping.
caller-owned navigation and shared scroll state.
exact positive viewport size.
positive fixed logical row height.
positive wheel multiplier.
whether upward boundary input emits a leading load request through modifier.
whether downward boundary input emits a trailing load request through modifier.
active viewport behavior.
optional stable sibling identity.
deferred callback that emits exactly one row root.
Type Parameters
immutable row model type.
stable row key type.