nodes aporta registros planos con claves estables y data; hierarchy describe raíces y relaciones de hijos cargados o pendientes. Aplica expandedKeysChange.keys a expandedKeys y selectionChange.selection a selection. childrenRequest identifica el padre pendiente y la petición; la aplicación carga los hijos y sustituye nodes/hierarchy. nodeMove es una propuesta: actualiza hierarchy para aceptarla. El Template recibe data, no el nodo envolvente.
Los datos estructurados, callbacks y templates se muestran en los ejemplos y en la API.
El código añade las opciones avanzadas cuando difieren del valor predeterminado. Los datos y valores de esta configuración aparecen en el estado del template.
Estos inputs requieren un modelo o función, no un checkbox. Modifica el campo del mismo nombre en el componente de Código y enlázalo al template; los datos que ya usa esta vista previa se muestran en el estado anterior.
nodes aporta registros planos con claves estables y data; hierarchy describe raíces y relaciones de hijos cargados o pendientes. Aplica expandedKeysChange.keys a expandedKeys y selectionChange.selection a selection. childrenRequest identifica el padre pendiente y la petición; la aplicación carga los hijos y sustituye nodes/hierarchy. nodeMove es una propuesta: actualiza hierarchy para aceptarla. El Template recibe data, no el nodo envolvente.
Las flechas recorren y expanden/contraen nodos; Inicio/Fin alcanza el primer/último nodo visible. Espacio cambia la selección. La reordenación incluye alternativas de teclado cuando está habilitada.
Tecla
Acción
Tab
Accede al árbol y a sus controles habilitados.
ArrowDown / ArrowUp
Enfoca el siguiente o anterior nodo visible.
ArrowRight / ArrowLeft
Expande, entra, contrae o sale de una rama; la dirección horizontal respeta RTL.
Home
Enfoca el primer nodo visible.
End
Enfoca el último nodo visible.
Enter
Activa la selección del nodo enfocado cuando está habilitada.
Space
Activa la selección del nodo enfocado cuando está habilitada.
Inputs, modelos y Outputs se extraen del paquete Core instalado. Los tipos públicos enlazan a sus definiciones. Los Templates incluyen ejemplos ejecutables.
Inputs
Configura el componente con [propiedad]="valor". Tu aplicación proporciona estos valores; el componente no debe reemplazar el estado que le pasas.
Nombre
Tipo
Por defecto
Uso en el template
Descripción
ariaLabel
string
'Tree'
[ariaLabel]
Nombre accesible del árbol.
collapseLabel
string
'Collapse node'
[collapseLabel]
Etiqueta accesible del botón en modo expandido.
emptyLabel
string
'No nodes available'
[emptyLabel]
Etiqueta de colección vacía. Tradúcela para tu aplicación.
expandedKeys
readonly K[]
[]
[expandedKeys]
Claves aplicadas de ramas expandidas. Los cambios de expansión se proponen a la aplicación.
Propone la selección, la clave afectada y el origen de la interacción. Aplica payload.selection a selection.
Templates
ng-content proyecta contenido dentro del componente. Los inputs TemplateRef reciben un template; las directivas ng-template identifican templates con un contexto tipado. Una directiva compartida en el entrypoint no es necesariamente un slot de este componente.
Usa los tokens públicos de la referencia. El diseño del contenedor pertenece a tu aplicación; comprueba el resultado en modo claro y oscuro y en espacios estrechos.
Tokens específicos
Este componente utiliza tokens compartidos del tema en lugar de tokens específicos.
Tokens compartidos utilizados
Sobrescríbelos en un contenedor local para afectar a este ejemplo. Una modificación en :root afecta a los demás componentes que utilizan el mismo token.
Token
Efecto aquí
Otros efectos
Valor / alternativa
--neu-border
Bordes normales de controles y celdas
Compartido con otros consumidores de Core; limita el cambio a un ámbito.
rgba(15, 23, 42, 0.08)
--neu-focus-ring
Anillo normal del foco de teclado
Compartido con otros consumidores de Core; limita el cambio a un ámbito.