Scrol soepel door honderdduizenden items. VirtualList tekent alleen de zichtbare rijen.
Waarom het helpt
- Soepel bij enorme lijsten
- Alleen zichtbare rijen
- Eenvoudig
Waar het past
- Logboeken
- Catalogi
- Selecties

Voorbeeld
<VirtualList TItem="string" Label="Log lines" Items="_lines" @bind-SelectedItem="_selected" Height="14rem" ItemHeight="34" />
<p>Selected: @(_selected ?? "none")</p>
<VirtualList TItem="Person" Label="People with a template" Items="_people" Height="12rem" ItemHeight="44" Selectable="false">
<ItemTemplate Context="person">
<strong>@person.Name</strong> <span>@person.Department</span>
</ItemTemplate>
</VirtualList>
@code {
private readonly List<string> _lines = Enumerable.Range(1, 200000).Select(n => $"Line {n:N0}: request processed").ToList();
private readonly List<Person> _people = Enumerable.Range(0, 5000).Select(n => SampleData.People[n % SampleData.People.Count] with { Name = $"{SampleData.People[n % SampleData.People.Count].Name} {n + 1}" }).ToList();
private string? _selected;
} Een kort fragment. Voeg @using RayCraft.Blazor.Components toe aan je pagina en gebruik een interactieve rendermodus.
Inbegrepen in RayCraft Free. Werkende voorbeelden staan in de GitHub-repository (MIT); het bevat voorbeeld- en democode, niet de code van de bibliotheek.