Auswahl · Komponente

Select

Öffnet eine Optionsliste und übernimmt genau einen Wert in den Trigger.

Demo

Ein Markup, drei Adapter, austauschbare Themes. Framework und Theme lassen sich frei kombinieren – die Komponente sieht immer gleich aus und verhält sich gleich. Der Code unter der Vorschau zeigt genau die gewählte Kombination.

Select
Vanilla@synatix/vanilla + @synatix/theme-kredit
import { enhanceSelect } from "@synatix/vanilla";
import "@synatix/theme-kredit/theme.css";

// Ein Container im Markup trägt data-theme="kredit".
const root = document.querySelector(
  "[data-scope='select']"
);
const cleanup = enhanceSelect(root);

Anatomie

Feste Parts dienen als Selektoren für CSS und Tests.

<div data-scope="select" data-part="root">
  <span data-part="trigger">…</span>
  <span data-part="value">…</span>
  <span data-part="indicator">…</span>
  <span data-part="content">…</span>
  <span data-part="item">…</span>
  <span data-part="input">…</span>
</div>

Props

PropTypStandardBeschreibung
optionsOption[][]Definiert verfügbare Werte.
valuestring""Steuert den ausgewählten Wert.
disabledbooleanfalseDeaktiviert die Auswahl.

Tastatur

TasteVerhalten
TabSetzt den Fokus auf das nächste bedienbare Element.
Shift + TabSetzt den Fokus auf das vorherige Element.
Pfeil ab / Pfeil aufÖffnet die Liste und bewegt die Hervorhebung.
EnterÜbernimmt die hervorgehobene Option.
EscapeSchließt die Liste ohne Änderung.