Eingabefelder: Check box
Zurück: Demo-Übersicht
1. Übersicht und Zweck
Status: [Live]. Referenz: DevExpress ASPxCheckBox
(Zwei-/Dreizustands-Modell).
2. Voraussetzungen
Gemeinsamer Feld-Kontrakt bereits verstanden.
3. Konzepte
Der Dreizustand hat kein natives HTML-Äquivalent — indeterminate
ist ein reiner DOM-Property-Zustand (nicht per Attribut setzbar, nicht
postbar). Ein Dreizustands-Feld ist deshalb immer JavaScript-abhängig
für die visuelle Zwischendarstellung; der POST-Wert bleibt binär (an/aus) —
der Server unterscheidet „unbestimmt„ nie eigenständig, das ist reine
Client-Anzeige einer abgeleiteten Gruppe (vom Aufrufer berechnet, nicht vom
Feld selbst).
Gesetzt wurde er immer, gezeichnet erst seit dem 5. August 2026
Vier Stellen im Paket erzeugen den Zustand: diese Methode markiert ihn im Markup, und das
Formularskript, der Baum und das Datenraster setzen die DOM-Eigenschaft samt
aria-checked="mixed" für eine Elternzeile, deren Kinder sich uneinig sind. Gezeichnet
hat ihn keine Regel.
Ein schlichtes Kontrollkästchen kam damit durch, weil es ein natives Bedienelement bleibt: der
Browser malt seinen eigenen Strich — im falschen Farbton, aber vorhanden. Es bleibt bewusst nativ
und bekommt seine Farbe über accent-color; es selbst nachzubauen hieße, Strich, Haken,
Fokusring und das Verhalten in erzwungenen Farbmodi zu übernehmen, ohne etwas zu gewinnen.
Der Umschalter kommt damit nicht durch. Er ersetzt die native Darstellung vollständig, und sein Griff stand links — genau dort, wo „aus“ ihn hinstellt. Eine Elternzeile, die „einige davon sind ausgewählt„ meldete, las sich als „keines davon ist ausgewählt“.
Er trägt den Zustand jetzt zweifach: der Griff steht in der Mitte (die Hälfte des Weges, den „an„ zurücklegt), und die Bahn bekommt eine Teilfüllung. Position allein wäre auf einem 18 px breiten Bedienelement ein feiner Unterschied; Füllung allein überlebte einen erzwungenen Farbmodus nicht, der Hintergründe verwirft. Am kompilierten Bündel gemessen: drei Zustände, drei Füllungen, drei Griffpositionen.
4. Erste Schritte
echo $widgets->checkbox([ 'name' => 'aktiv', 'label' => 'Zugriff aktiv', 'value' => true, ]);
5. Verwendung
$opts['tristate'] | Verhalten | value |
|---|---|---|
false (Default) | natives <input type="checkbox"> | bool |
true | drittes „unbestimmt“-Icon (indeterminate), z. B. für „teilweise ausgewählt„ bei einer Elterngruppe | true|false|null |
6. API-Referenz
Methode checkbox(array $opts): string in
helper_plugin_wkfluentui_widgets.
7. Parameter, Optionen und Zustände
| Schlüssel | Typ | Bedeutung |
|---|---|---|
tristate | bool | s. Abschnitt 5, Default false |
switchStyle | bool | rendert als Toggle-Switch-Optik statt Kästchen (reines CSS auf demselben <input type="checkbox"> — keine Verhaltensänderung, keine zusätzliche Semantik) |
8. Vollständige Beispiele
echo $widgets->checkbox([ 'name' => 'benachrichtigungen', 'label' => 'E-Mail-Benachrichtigungen', 'value' => false, 'switchStyle' => true, ]);
9. Einschränkungen und Randfälle
Keine über die Feature-Seiten hinaus.
10. Accessibility und Kompatibilität
Vollständiger Überblick: Accessibility.
11. Troubleshooting
Entfällt.
12. Verwandte Themen
- Demo-Übersicht — alle Kategorien
- Eingabefelder: List editors — mehrere Checkboxen als Gruppe
- Eingabefelder: Grundlagen — gemeinsamer Feld-Kontrakt