A virtual scrolling grid component for Dioxus. Renders only visible items plus a buffer, using spacer elements to maintain scroll height.
cargo add dioxus-virtual-scroll
use dioxus_virtual_scroll::{VirtualGrid, VirtualGridConfig, RenderFn, KeyFn};
let config = VirtualGridConfig {
item_width: 200.0,
item_height: 280.0,
buffer_rows: 2,
gap: 16.0,
};
rsx! {
VirtualGrid {
items: albums,
config,
render_item: RenderFn(Rc::new(|album, idx| rsx! { ... })),
key_fn: KeyFn(Rc::new(|album| album.id.clone())),
}
}