TreeView
FreeLista hierárquica seguindo o padrão ARIA tree. As setas movem e expandem, Home e End pulam, Enter ou Espaço seleciona. Os filhos vêm de ChildrenSelector, de modo que qualquer tipo recursivo funciona, ou de um ChildrenLoader assíncrono executado quando um nó é aberto pela primeira vez.
Exemplo

Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
CanDrop | Func<TItem, Object, bool> | Informa se a carga arrastada pode ser solta sobre um nó (TreeView, sim por padrão). |
Checkable | bool | Mostra uma caixa de seleção em cada nó; os pais mostram um estado misto. |
CheckedItems | IEnumerable<TItem> | Nós marcados. Use com @bind-CheckedItems. |
ChildrenLoader | Func<TItem, Task<IEnumerable<TItem>>> | Carrega os filhos de um nó quando ele é aberto pela primeira vez (devolve uma tarefa). Enquanto roda, o nó mostra um indicador e aria-busy; uma falha recolhe o nó e gera OnLoadError. |
ChildrenSelector | Func<TItem, IEnumerable<TItem>> | Devolve os filhos de um item. Itens sem filhos são folhas. |
Class | string | Classes CSS extras adicionadas ao elemento raiz. |
ContextMenuItems | Func<TItem, IReadOnlyList<MenuCommand>> | Devolve os comandos do menu de contexto de um nó; abre com clique direito, a tecla Menu e Shift+F10 (TreeView). |
ExpandAll | bool | Expande todos os nós quando a árvore aparece pela primeira vez. |
HasChildren | Func<TItem, bool> | Informa antes do carregamento se um nó tem filhos (para que ele mostre a seta de expandir). Sem isso, todo nó pode ser aberto quando ChildrenLoader está definido. |
ItemBadge | Func<TItem, string> | Texto curto no fim de um nó, por exemplo uma contagem de itens não lidos; vazio não mostra nada (TreeView). |
ItemBold | Func<TItem, bool> | Informa se o nome de um nó está em negrito, por exemplo quando tem itens não lidos (TreeView). |
Items | IEnumerable<TItem> | As opções entre as quais escolher. |
ItemTemplate | RenderFragment<TItem> | Conteúdo personalizado para cada nó. 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). |
SelectedItem | TItem | Nó selecionado. Use com @bind-SelectedItem. |
Style | string | Estilo embutido adicionado ao elemento raiz. |
Eventos
| Evento | Tipo | Descrição |
|---|---|---|
CheckedItemsChanged | EventCallback<IEnumerable<TItem>> | Gerado quando os nós marcados mudam. |
OnDrop | EventCallback<TreeDropEventArgs<TItem>> | Gerado quando uma carga iniciada com IRayCraftDrag.Begin é solta sobre um nó (TreeView). |
OnLoadError | EventCallback<Exception> | Gerado com a exceção quando ChildrenLoader falha; o nó se recolhe. |
SelectedItemChanged | EventCallback<TItem> | Gerado quando outro nó é selecionado. |
Pacote
TreeView faz parte do RayCraft Free. Pacote: RayCraft.Blazor. Vem do nuget.org. Veja Primeiros passos.
Enviar feedbackVersão 1.0.3