Switch
Zustandsschalter (Toggle). Unterstützt Label rechts/links, ohne Label, Disabled, Größen, AfterValueChanged, AutoSaveCallback und Validierung.
Grundvarianten
Label rechts (Standard), Label links, ohne Label.Label rechts
Wert: True
Label links
Wert: False
Ohne Label
Wert: True
Zustände
Disabled: Switch ist vollständig deaktiviert – ausgegraut, halbtransparent, Cursor zeigt Sperre.Disabled (inaktiv)
Disabled (aktiv)
Size
Alle fünf Größen vonXs bis Xl.
Xs
Sm
Md (Standard)
Lg
Xl
Events
AfterValueChanged feuert nach jeder Wertänderung.
AfterValueChanged
Änderungen: 0×
AutoSaveCallback
AutoSaveCallback wird nach jeder Wertänderung ausgelöst – standardmäßig nur wenn das Feld gültig ist (TriggerAutoSaveCallbackOnlyIfValid).
Nur bei gültigem Wert
Gespeichert: –
Immer speichern
Gespeichert: –
Validierung mit DataAnnotations
Integration inEditContext via Form-Komponente. ShowValidationTooltip zeigt die Fehlermeldung inline.
class & style
Beliebige HTML-Attribute (class, style, data-*, aria-*) werden an den Wrapper durchgereicht.
class
style
data-testid
SKILL.md – Switch
--- name: Switch description: Onesown Blazor Komponente Switch (Inputs). Verwende diesen Skill wenn du die Switch-Komponente verwenden, konfigurieren oder debuggen moechtest. --- # Switch **Namespace:** `Onesown.Blazor.Components` **Kategorie:** Inputs **Basisklasse:** `FormControlBase` Toggle-Switch-Eingabefeld für bool-Werte mit konfigurierbarer Label-Position und DataAnnotations-Validierung. Optisch als Schiebeschalter dargestellt – funktional wie eine Checkbox, aber mit klarer An/Aus-Semantik. **Live-Demo:** https://components.schini.com/demo/switch ## Parameter | Parameter | Typ | Standard | Beschreibung | |---|---|---|---| | ``LabelPosition`` | ``LabelPosition`` | ``LabelPosition.Right`` | Position des Label-Texts relativ zum Switch. Mögliche Werte: Right (Standard), Left. | | ``ValueChanged`` | ``EventCallback<bool>`` | | EventCallback für Two-Way-Binding mit @bind-Value. Wird nach jeder Wertänderung ausgelöst. | | ``ValueExpression`` | ``Expression<Func<object>>`` | | LINQ-Expression auf die gebundene Model-Property. Wird benötigt für DataAnnotations-Validierung. | | ``Value`` | ``bool`` | | Aktuell gebundener bool-Wert des Switches. | | ``Disabled`` | ``bool`` | | Deaktiviert den Switch: kein Klick, ausgegraut. Standard: false. | ## 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 - Label links: LabelPosition="LabelPosition.Left" (Standard: rechts) - Deaktivieren: Disabled="true" sperrt den Switch und graut ihn aus - Validierung: ValueExpression wird benötigt um DataAnnotations auszuwerten - Unterschied zu Checkbox: gleiche Funktion, anderes visuelles Design (Schiebeschalter)