AutoComplete
Single-Value Eingabefeld mit Dropdown-Vorschlagsliste. Zeigt passende Einträge während der User tippt oder beim Fokussieren. Kein Chip-Missbrauch mehr.
Einfaches Beispiel (string)
AutoComplete mit einer Liste von Strings. OpenOnFocus öffnet das Dropdown beim Klick ins Feld.Gewählt: –
Objekt-Liste (TItem / TValue)
AutoComplete mit Objekt-Liste – TItem=Person, TValue=int (Id). Text wird aus "Text"-Property gelesen.Gewählte Id: 0
Kein OpenOnFocus – nur beim Tippen
Mit OpenOnFocus="false" öffnet das Dropdown erst wenn der User zu tippen beginnt.Gewählt: –
TriggerChars – Separator öffnet Dropdown neu
MitTriggerChars="System.Char[]" öffnet ein Beistrich das Dropdown erneut. Ideal für schnelle Mehrfachauswahl nacheinander.
Letzter Wert: –
Voller Text: –
Size
Alle fünf Größen vonXs bis Xl – alle Felder teilen denselben Bindewert.
Xs
Sm
Md (Standard)
Lg
Xl
Aktueller Wert
Gewählt: –
Readonly & Disabled
Readonly sperrt die Eingabe, Disabled deaktiviert das Feld vollständig.Validierung
Pflichtfeld-Validierung mitShowValidationTooltip.
SKILL.md – Autocomplete
--- name: AutoComplete description: Onesown Blazor Komponente AutoComplete (Inputs). Verwende diesen Skill wenn du die AutoComplete-Komponente verwenden, konfigurieren oder debuggen moechtest. --- # AutoComplete **Namespace:** `Onesown.Blazor.Components` **Kategorie:** Inputs **Basisklasse:** `FormControlBase` **Generisch:** Ja (`AutoComplete<TItem>` o.ae.) Generisches Single-Value Eingabefeld mit Dropdown-Vorschlagsliste (AutoComplete / ComboBox). Zeigt passende Einträge aus einer Items-Liste während der User tippt oder beim Fokussieren des Felds. Der ausgewählte Wert wird als Text im Input dargestellt – keine Chips, kein Multi-Select. **Live-Demo:** https://components.schini.com/demo/autocomplete ## Parameter | Parameter | Typ | Standard | Beschreibung | |---|---|---|---| | ``Items`` | ``List<TItem>`` | ``new()`` | Liste der auswählbaren Elemente. Elemente müssen eine "Text"- und "Value"-Property haben, oder ListItemTemplate verwenden. | | ``Value`` | ``TValue`` | | Der aktuell ausgewählte Wert. | | ``ValueChanged`` | ``EventCallback<TValue>`` | | EventCallback für Two-Way-Binding mit @bind-Value. Wird nach jeder Änderung ausgelöst. | | ``ValueExpression`` | ``Expression<Func<object>>`` | | LINQ-Expression auf die gebundene Model-Property. Wird benötigt für DataAnnotations-Validierung und Floating-Label-Text. | | ``OpenOnFocus`` | ``bool`` | ``true`` | Öffnet das Dropdown bereits beim Fokussieren des Felds, auch ohne Tippen. Standard: true. | | ``Readonly`` | ``bool`` | | Setzt das Feld in den Nur-Lesen-Modus: Dropdown nicht öffenbar, Wert nicht änderbar. | | ``Disabled`` | ``bool`` | | Deaktiviert das Feld vollständig: kein Klick, ausgegraut. Standard: false. | | ``UseSplitSearch`` | ``bool`` | | Sucht nach jedem Wort des Suchbegriffs einzeln statt dem gesamten Begriff. Standard: false. | | ``AllowClear`` | ``bool`` | ``false`` | Zeigt ein X-Icon zum Zurücksetzen des ausgewählten Werts. Standard: false. | | ``MaxItems`` | ``int`` | ``50`` | Maximale Anzahl angezeigter Vorschläge im Dropdown. Standard: 50. | | ``TriggerChars`` | ``char[]`` | | Trennzeichen für Token-basierte Eingabe (z.B. ","). Filter und Auswahl arbeiten nur mit dem Text nach dem letzten Trennzeichen – wie bei einem E-Mail-Empfängerfeld. Standard: null = deaktiviert. | | ``VollerTextChanged`` | ``EventCallback<string>`` | | Gibt den vollständigen sichtbaren Eingabetext zurück (inkl. aller Token). Nützlich bei TriggerChars-Verwendung um z.B. "Deutschland, Österreich" anzuzeigen. | | ``ListItemTemplate`` | ``RenderFragment<TItem>`` | | Benutzerdefiniertes Template für die Darstellung jedes Listenelements im Dropdown. | | ``NoRecordsTemplate`` | ``RenderFragment`` | | Template das angezeigt wird wenn die gefilterte Liste leer ist (keine Treffer). | | ``CustomValidationMethod`` | ``Func<object, bool>`` | | Optionale zusätzliche Validierungsfunktion. Gibt true zurück wenn der Wert gültig ist. | ## Geerbte Parameter (FormControlBase) | Parameter | Typ | Standard | Beschreibung | |---|---|---|---| | ``Size`` | ``string`` | ``OoSize.Md`` | Größe der Komponente. Mögliche Werte: OoSize.Xs, OoSize.Sm, OoSize.Md, OoSize.Lg, OoSize.Xl. Wird als CSS-Klasse am Root-Element gesetzt. | | ``Id`` | ``string`` | ``Generator.GenerateRandomHtmlTagID()`` | Eindeutige HTML-ID des Input-Elements. Wird automatisch generiert und kann überschrieben werden (z. B. für Labels mit for-Attribut). | | ``ShowLabel`` | ``bool`` | ``true`` | Blendet das Label über dem Eingabefeld ein oder aus. Standard: true. | | ``IsFloatingLabel`` | ``bool`` | ``true`` | Aktiviert das schwebende Label (Floating Label), das beim Fokus oder bei Eingabe nach oben animiert. Standard: true. | | ``Label`` | ``string`` | | Beschriftung des Eingabefelds. Wird auch als Accessible-Name für Screenreader verwendet. | | ``Placeholder`` | ``string`` | ``" "`` | Platzhaltertext im leeren Eingabefeld. Standard: Leerzeichen (verhindert Floating-Label-Sprung in Chrome). | | ``AutoSaveCallback`` | ``EventCallback`` | | Wird nach jeder Wertänderung ausgelöst und signalisiert der Seite, dass gespeichert werden soll. Kombinierbar mit TriggerAutoSaveCallbackOnlyIfValid. | | ``TriggerAutoSaveCallbackOnlyIfValid`` | ``bool`` | ``true`` | Steuert ob AutoSaveCallback nur bei gültigem Wert ausgelöst wird. Standard: true. | | ``AfterValueChanged`` | ``EventCallback`` | | Wird nach jeder Wertänderung ausgelöst, unabhängig von der Gültigkeit des Werts. Geeignet für Live-Vorschau oder Seiteneffekte. | | ``ShowValidationTooltip`` | ``bool`` | ``false`` | Zeigt Validierungsmeldungen als Tooltip neben dem Feld statt als Text darunter. Standard: false. | ## Hinweise - Immer @bind-Value für Two-Way-Binding verwenden - Für Formular-Validierung ValueExpression="() => _model.Property" setzen - Komponente muss innerhalb eines <Form>- oder <EditForm>-Containers liegen, damit der EditContext greift - AutoSaveCallback wird nach jeder gültigen Änderung ausgelöst, wenn TriggerAutoSaveCallbackOnlyIfValid=true (Standard) - AfterValueChanged wird nach jeder Änderung ausgelöst, unabhängig von der Gültigkeit - ShowValidationTooltip=true zeigt Validierungsmeldungen als Tooltip statt unter dem Feld - TItem ist die Listenobjekt-Klasse, TValue der gebundene Werttyp (z.B. int oder string) - TItem muss eine "Text"- und "Value"-Property haben, oder ListItemTemplate verwenden - OpenOnFocus="true" öffnet das Dropdown bereits beim Klick ins Feld ohne Tippen - AllowClear="true" zeigt ein X-Icon zum Zurücksetzen des Werts - UseSplitSearch="true" sucht nach jedem Wort einzeln statt dem gesamten Suchbegriff - Einfachstes Beispiel: <AutoComplete Items="_laender" @bind-Value="_land" /> - Mit Label: <AutoComplete Label="Land" Items="_laender" @bind-Value="_land" />