Was ist der beste Weg, um ein einzelnes Tristate-Kontrollkästchen in angularjs zu implementieren?

8

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.

    
user32412 25.01.2014, 06:13
quelle

4 Antworten

7

Ссылка Ich habe es in einem kommerziellen Projekt gemacht. Tristates sind wahr, falsch, null (nicht "unbekannt")

%Vor%     
TruongSinh 25.01.2014, 06:37
quelle
6

Hier meine Fiddle, beginnend mit TruongSinh und ändern

Ссылка

ohne

%Vor%     
Mauro Sala 28.04.2015 09:05
quelle
1

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

ausprobieren

Und die Richtlinie sieht so aus:

%Vor%     
Anton Temchenko 21.06.2016 15:29
quelle
1

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%     
The.Bear 19.08.2017 19:21
quelle