Descripción general del árbol Blazor
Ignite UI for Blazor Tree, también conocido como componente TreeView, es un control de alto rendimiento que visualiza estructuras de datos expandibles dentro de una interfaz de usuario similar a un árbol, lo que le permite aplicar carga a petición para los elementos secundarios. El árbol de Ignite UI for Blazor también proporciona características como la expansión y contracción de nodos, la navegación de aplicaciones anidadas Ignite UI for Blazor los nodos del árbol se pueden generar manualmente o a partir de una fuente de datos enlazada.
Para los usuarios finales, esto significa que pueden navegar fácilmente a través de diferentes páginas de aplicaciones, usar selecciones, casillas de verificación, agregar textos, íconos, imágenes y más.
The Ignite UI for Blazor Tree component allows users to represent hierarchical data in a tree-view structure, maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model. Its primary purpose is to allow end-users to visualize and navigate within hierarchical data structures. The IgbTree component also provides load on demand capabilities, item activation, multiple and cascade selection of items through built-in checkboxes, built-in keyboard navigation and more.
Blazor Tree Example
En este ejemplo básico de árbol de Ignite UI for Blazor, puede ver cómo definir un árbol y sus elementos especificando la jerarquía de elementos.
How to Use Ignite UI for Blazor Tree With Ignite UI
También tendrás que vincular un archivo CSS adicional para aplicar el estilo alIgbTree componente. Lo siguiente debe colocarse en el archivo wwwroot/index.html de un proyecto de ensamblador web Blazor o en el archivo Pages/_Host.cshtml de un proyecto Blazor Server:
<link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" />
// in Program.cs file
builder.Services.AddIgniteUIBlazor(
typeof(IgbTreeModule),
typeof(IgbTreeItemModule)
);
La forma más sencilla de empezar a usar elIgbTree uso es la siguiente:
Declaring a tree
IgbTreeItem is the representation of every item that belongs to the IgbTree.
Items provide Disabled, Active, Selected and Expanded properties, which give you opportunity to configure the states of the item as per your requirement.
The Value property can be used to add a reference to the data entry the item represents.
Los artículos se pueden declarar utilizando uno de los siguientes enfoques.
- Declarar el árbol y sus elementos especificando la jerarquía de elementos e iterando a través de un conjunto de datos
<IgbTree>
@foreach (var student in this.Students)
{
<IgbTreeItem Value="@item.Id" Label="@item.Name">
</IgbTreeItem>
}
</IgbTree>
Los elementos se pueden vincular a un modelo de datos para que sus estados expandidos y seleccionados también se reflejen en los datos subyacentes.
- Declarar un árbol creando elementos estáticos independientes
In order to render a tree you do not necessarily need a data set - individual items can be created without an underlying data model using the exposed Label property or provide a custom slot content for the IgbTreeItem label.
<IgbTree>
<IgbTreeItem Label="North America">
<IgbTreeItem Label="United States"></IgbTreeItem>
<IgbTreeItem Label="Canada"></IgbTreeItem>
<IgbTreeItem Label="Mexico"></IgbTreeItem>
</IgbTreeItem>
<IgbTreeItem Label="South America">
<IgbTreeItem Label="Brazil"></IgbTreeItem>
<IgbTreeItem Label="Uruguay"></IgbTreeItem>
</IgbTreeItem>
<IgbTreeItem Label="Europe">
<IgbTreeItem Label="United Kingdom"></IgbTreeItem>
<IgbTreeItem Label="Germany"></IgbTreeItem>
<IgbTreeItem Label="Bulgaria"></IgbTreeItem>
</IgbTreeItem>
</IgbTree>
[!Note] You can provide a custom slot content for each
IgbTreeItem's indentation, expansion and label area respectively using the providedindentation,indicatorandlabelslots.
Item Interactions
IgbTreeItem could be expanded or collapsed:
- Haciendo clic en el indicador de expansión del objeto (comportamiento por defecto).
- by clicking on the item if the
IgbTreeToggleNodeOnClickproperty is set totrue.
By default, multiple items could be expanded at the same time. In order to change this behavior and allow expanding only single branch at a time, the SingleBranchExpand property could be enabled. This way when an item is expanded, all of the others already expanded branches in the same level will be collapsed.
Blazor Tree Selection
In order to setup item selection in the Ignite UI for Blazor Tree component, you just need to set its Selection property. This property accepts the following three modes: None, Multiple and Cascade. Below we will take a look at each of them in more detail.
None
In the IgbTree by default item selection is disabled. Users cannot select or deselect an item through UI interaction, but these actions can still be completed through the provided API method.
Multiple
To enable multiple item selection in the IgbTree just set the Selection property to multiple. This will render a checkbox for every item. Each item has two states - selected or not. This mode supports multiple selection.
<IgbTree Selection=TreeSelection.Multiple>
</IgbTree>
Cascade
To enable cascade item selection in the IgbTree, just set the selection property to cascade. This will render a checkbox for every item.
<IgbTree Selection=TreeSelection.Cascade>
</IgbTree>
En este modo, el estado de selección de un padre depende completamente del estado de selección de sus hijos. Cuando un padre tiene algunos hijos seleccionados y algunos no seleccionados, su casilla de verificación está en un estado indeterminado.
Keyboard Navigation
Keyboard navigation in IgbTree provides a rich variety of keyboard interactions for the user. This functionality is enabled by default and allows users to navigate through the items.
The IgbTree navigation is compliant with W3C accessibility standards and convenient to use.
Combinaciones de teclas
- ↓: navega al siguiente elemento visible. Marca el elemento como activo. No hace nada si está en el ÚLTIMO elemento.
- CTRL + ↓- navega al siguiente elemento visible. No hace nada si está en el ÚLTIMO artículo.
- ↑- navega al elemento visible anterior. Marca el elemento como activo. No hace nada si está en el PRIMER elemento.
- CTRL + ↑- navega al elemento visible anterior. No hace nada si está en el PRIMER artículo.
- ←: en un elemento principal expandido, lo contrae. Si el elemento está contraído o no tiene hijos, se mueve a su elemento principal. No hace nada si no hay ningún elemento principal.
- →- en un elemento principal expandido, navega al primer elemento secundario del elemento. Si se encuentra en un elemento principal contraído, lo expande. No hace nada si el artículo no tiene hijos.
- HOME- navega al PRIMER elemento.
- END- navega hasta el ÚLTIMO elemento visible.
- TAB- navega al siguiente elemento enfocable en la página, fuera del árbol.
- SHIFT + TAB- navega al elemento enfocable anterior en la página, fuera del árbol.
- SPACE- alterna la selección del elemento actual. Marca el nodo como activo.
- SHIFT + SPACE- alterna la selección de todos los elementos entre el activo y el que presiona Espacio mientras se mantiene presionado SHIFT si la selección está habilitada.
- ENTER- Activa el elemento enfocado. Si el elemento tiene un vínculo, abre el vínculo.
- *: expande el artículo y todos los artículos hermanos en el mismo nivel.
Cuando la selección está habilitada, la selección de elementos por parte del usuario final solo se permite a través de la casilla de verificación representada. Dado que ambos tipos de selección permiten selección múltiple, están disponibles las siguientes interacciones con el mouse y el teclado:
- Hacer clic: cuando se realiza en la casilla de verificación del elemento, alterna la selección del elemento si la selección está habilitada. De lo contrario, enfoca el elemento.
- SHIFT + Click- cuando se realiza en la casilla de verificación del elemento, alterna la selección de todos los elementos entre el activo y el que se hace clic mientras se mantiene presionada SHIFT si la selección está habilitada
Styling
You can change the appearance of the IgbTreeItem, by using some of the exposed CSS parts listed below:
| Nombre de la pieza | Descripción |
|---|---|
wrapper |
El contenedor del elemento del árbol. |
selected |
Indica el estado seleccionado. Se aplica awrapper. |
focused |
Indica estado enfocado. Se aplica awrapper. |
active |
Indica un estado activo. Se aplica awrapper. |
indicator |
El indicador de expansión del elemento del árbol. |
label |
El contenido del elemento del árbol. |
text |
El elemento del árbol mostraba texto. |
select |
La casilla de verificación del elemento del árbol cuando la selección está habilitada. |
Usando estas piezas CSS podemos personalizar la apariencia delIgbTree componente de esta manera:
igc-tree-item::part(active) {
background: var(--ig-secondary-500);
color: var(--ig-secondary-500-contrast);
}