Gibt es eine einfache Möglichkeit, ein einzelnes Kontrollkästchen mit drei Zuständen auf einer Webseite zu platzieren und es an ein boolesches Modell zu binden, damit letzteres true
, false
oder null
Werte annehmen kann?
Die nächste Lösung, die ich bisher gefunden habe, ist Ссылка , aber es hat einen Fehler beim Einrichten eines anfänglichen Ansichtszustands (wie dort) ist keine Möglichkeit, beim ersten Rendering einen Modellwert zu erhalten). Alle anderen Vorschläge befassen sich mit mehreren untergeordneten Kontrollkästchen und lösen das Problem, indem Sie auf sie aufpassen.
Ссылка Ich habe es in einem kommerziellen Projekt gemacht. Tristates sind wahr, falsch, null (nicht "unbekannt")
%Vor%Ich habe eine Direktive erstellt, die du benutzen kannst. Drei-Staaten-Checkbox AngularJS-Richtlinie auf GitHub
Es gibt auch einen Post, wie es gebaut wurde: Creating Angulr Directive "Three Kontrollkästchen -State
Sie können eine DEMO
ausprobierenUnd die Richtlinie sieht so aus:
%Vor% Sie haben den unbestimmten Status von <input type="checkbox">
ausgenutzt.
MDN-Webdokumente :
Es gibt einen unbestimmten Status von Kontrollkästchen, von denen eines nicht aktiviert oder deaktiviert ist, aber nicht festgelegt ist. Dies wird mithilfe der unbestimmten Eigenschaft des HTMLInputElement-Objekts über JavaScript festgelegt (es kann nicht mithilfe eines HTML-Attributs festgelegt werden).
PLUNKER: TRISTATE-RICHTLINIE
HTML
%Vor%RICHTLINIE
%Vor%EXTRA: Wenn Sie eine Zeichenfolge zur Darstellung eines unbestimmten Status hinzufügen möchten, verwenden Sie dieses CSS
%Vor%Tags und Links javascript angularjs checkbox tri-state-logic