VirtualList
FreeUma lista rolável que desenha só as linhas visíveis, para centenas de milhares de itens. As linhas têm altura fixa (um modelo de linha pode ter várias linhas); o teclado alcança todas as linhas. As linhas podem vir do servidor em janelas, várias linhas podem ser selecionadas e arrastadas para um TreeView.
Exemplo

Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
Class | string | Classes CSS extras adicionadas ao elemento raiz. |
Draggable | bool | Permite arrastar linhas; a carga vai para IRayCraftDrag (VirtualList). |
DragPayload | Func<IReadOnlyList<TItem>, Object> | Constrói a carga de arrasto a partir das linhas arrastadas (por padrão: a lista de linhas). |
Height | string | Altura da lista, por exemplo 24rem (16rem por padrão); a lista rola dentro dela. |
ItemBold | Func<TItem, bool> | Informa se o texto de um item está em negrito, por exemplo quando não foi lido. |
ItemClass | Func<TItem, string> | Adiciona classes CSS a uma linha (VirtualList). |
ItemHeight | int | Altura de uma linha em pixels (36 por padrão). Todas as linhas têm a mesma altura. |
ItemKey | Func<TItem, Object> | Devolve uma chave estável por item, para que a seleção e os detalhes abertos sobrevivam a recarregamentos. |
Items | IEnumerable<TItem> | Os itens a mostrar. |
ItemsProvider | Func<VirtualListRequest, Task<VirtualListResult<TItem>>> | Carrega linhas de um servidor: recebe a linha inicial, a quantidade e um token de cancelamento e devolve as linhas com a contagem total (VirtualList; Autocomplete tem seu próprio provedor). |
ItemTemplate | RenderFragment<TItem> | Conteúdo personalizado para cada item. O item está disponível como contexto. |
ItemText | Func<TItem, string> | Converte um item no seu texto de exibição (ToString() por padrão). |
Label | string | Texto visível do rótulo (gráficos: nome acessível; IconButton: nome acessível e dica de ferramenta). |
Multiple | bool | Permite selecionar várias linhas: clique, Ctrl+clique, Shift+clique, Shift+setas, Ctrl+A (VirtualList). |
Selectable | bool | Permite selecionar linhas (true por padrão). |
SelectedItem | TItem | Item selecionado. Use com @bind-SelectedItem. |
SelectedItems | IReadOnlyList<TItem> | Linhas selecionadas. Use com @bind-SelectedItems. |
ShowDragHandle | bool | Mostra uma alça no início de uma linha e arrasta somente pela alça (VirtualList). |
Style | string | Estilo embutido adicionado ao elemento raiz. |
Eventos
| Evento | Tipo | Descrição |
|---|---|---|
OnLoadError | EventCallback<Exception> | Gerado com a exceção quando ItemsProvider não consegue carregar linhas. |
SelectedItemChanged | EventCallback<TItem> | Gerado quando outro item é selecionado. |
SelectedItemsChanged | EventCallback<IReadOnlyList<TItem>> | Gerado quando a seleção muda. |
Pacote
VirtualList faz parte do RayCraft Free. Pacote: RayCraft.Blazor. Vem do nuget.org. Veja Primeiros passos.
Enviar feedbackVersão 1.0.3