enes

Tree View New

Tree View muestra datos jerárquicos en una lista anidada donde cada elemento puede expandirse, marcarse o seleccionarse. Los elementos se componen con los componentes TreeViewItem y TreeViewItemContent; el árbol no acepta una propiedad data.

  • Fruits
    • Apple
    • Banana
    • Citrus
      • Orange
        • Valencia
      • Lemon
  • Vegetables
    • Carrot
    • Spinach
    • Broccoli
  • Grains
    • Rice
    • Oats
  • Dairy
    • Milk
    • Cheese
  • Eggs

Uso

<script>
	import { TreeView, TreeViewItem, TreeViewItemContent } from 'fluentui-svelte';
</script>

<TreeView selectionMode="multiple">
	<TreeViewItem id="fruits" type="branch">
		<TreeViewItemContent>Fruits</TreeViewItemContent>
		<TreeView>
			<TreeViewItem id="apple">
				<TreeViewItemContent>Apple</TreeViewItemContent>
			</TreeViewItem>
			<TreeViewItem id="banana" disabled>
				<TreeViewItemContent>Banana</TreeViewItemContent>
			</TreeViewItem>
		</TreeView>
	</TreeViewItem>
	<TreeViewItem id="vegetables">
		<TreeViewItemContent>Vegetables</TreeViewItemContent>
	</TreeViewItem>
</TreeView>

Anidar un TreeView dentro de un TreeViewItem de tipo='branch' crea un subárbol. Usa openItems / checkedItems en el TreeView raíz (bindable) para controlar programáticamente el estado abierto y marcado.

Elementos marcables

Establece selectionMode en "multiple" | "single" para renderizar casillas en los elementos seleccionables.

  • Fruits
    • Apple
    • Banana

Selección única

Establece selectionMode en single para que marcar un elemento desmarque el anterior y las ramas ya no se propaguen a sus hijos.

  • Fruits
    • Apple
    • Banana
  • Vegetables

Checked:

Iconos

Usa iconBefore e iconAfter para renderizar iconos alrededor de la etiqueta. Cada elemento reserva el espacio del chevron de expansión, así las casillas y los iconos quedan alineados entre ramas y hojas.

  • Documents
    • Report
    • Photo
  • Notes

Aside y acciones

aside se ancla al final de la fila. actions va después y se muestra al pasar el cursor o enfocar la fila.

  • Report 2 KB
  • Annual summary 2 KB

Tamaños

Establece size en small, medium o large en el TreeView raíz.

  • Small
    • Apple
  • Medium
    • Apple
  • Large
    • Apple

Elementos deshabilitados

Un elemento deshabilitado no se puede abrir ni marcar, y se omite cuando su padre marca a sus hijos, lo que deja al padre en estado mixto.

  • Fruits
    • Apple
    • Banana

Controlar el estado abierto y marcado

Usa las props enlazables openItems y checkedItems del TreeView raíz para controlar el estado de forma programática.

  • Fruits
    • Apple
    • Banana

Open: controlled-fruits

Checked:

Eventos

onCheckedChange y onOpenChange en el TreeView reciben los ids resultantes. Las mismas props en un TreeViewItem reciben el elemento y su nuevo estado, incluidos los hijos a los que una rama se propaga.

  • Fruits
    • Apple

Tree:

Item:

Propiedades del componente (TreeView)

NameTypeDefaultDescription
ref bindableHTMLUListElement | nullLa referencia del DOM del elemento árbol.
size'small' | 'medium' | 'large''medium'El tamaño de cada item del árbol.
navigationMode'tree' | 'treegrid''tree'Si el árbol ocupa una sola parada de tabulación, o cada fila es alcanzable por su cuenta.
onOpenChange(e: Event, openItems: string[]) => voidSe llama cada vez que una rama se abre o se cierra.
selectionMode'single' | 'multiple''multiple'Cuántos items se pueden marcar a la vez.
onCheckedChange(e: Event, checkedItems: string[]) => voidSe llama cada vez que un item se marca o se desmarca.
virtualizerTreeViewVirtualizerPuente hacia una librería de virtualización. Solo el tramo de items renderizado vive en el DOM.
openItems bindablestring[] | SvelteSet<string>Los ids de las ramas abiertas. Se requiere un SvelteSet cuando hay un virtualizer.
checkedItems bindablestring[] | SvelteSet<string>Los ids de los items marcados. Se requiere un SvelteSet cuando hay un virtualizer.
childrenSnippetLos items del árbol.
TreeViewVirtualProps | TreeViewStaticProps
Element Attributes (ul)

Propiedades del componente (TreeViewItem)

NameTypeDefaultDescription
idstringEl id del item, que el árbol usa para seguir su estado. Si no se indica, se genera uno.
type'item' | 'branch''item'Si el item contiene hijos y, por tanto, se puede abrir.
refHTMLLIElement | nullLa referencia del DOM del elemento item.
valuestring | numberidEl valor que reportan los eventos del árbol. Si no se indica, se usa el id del item.
textstringLa etiqueta del item, que usa la navegación por escritura.
openbooleanSi la rama está abierta.
checkedbooleanSi el item está marcado.
indeterminatebooleanRenderiza el checkbox en su estado mixto, cuando solo algunos hijos están marcados.
disabledbooleanDeshabilita la interacción del usuario.
indexnumberEl índice real del item dentro del conjunto de datos. Obligatorio cuando el árbol está virtualizado.
onOpenChange(e: Event, data: { id: string; open: boolean }) => voidSe llama cuando esta rama se abre o se cierra.
onCheckedChange(e: Event, data: { id: string; checked: boolean }) => voidSe llama cuando este item se marca o se desmarca.
Element Attributes (li)

Propiedades del componente (TreeViewItemContent)

NameTypeDefaultDescription
refHTMLDivElement | nullLa referencia del DOM del elemento de layout.
expandIconSnippet | ComponentIcono personalizado para el control que abre una rama.
iconBeforeSnippet | ComponentContenido que se renderiza antes de la etiqueta.
iconAfterSnippet | ComponentContenido que se renderiza después de la etiqueta.
asideSnippet | ComponentContenido fijado al final de la fila.
actionsSnippet | ComponentContenido fijado al final de la fila, que se revela al pasar el puntero y al recibir el foco.
Element Attributes (div)
Editar este documento Ver como Markdown