angular2 Kontrollkästchen Formularsteuerung

8

Für ein einfaches Kontrollkästchen mit einem an ein FormControl gebundenen Zeichenfolgenwert:

%Vor% %Vor%

Die Ausgabe des Subskriptions ist wahr, falsch, wahr, falsch .... Ich möchte, dass die eckige 2 den Zeichenfolgenwert "MyValue" im FormControl bindet.

In der Standardeinstellung scheinen angular 2, FormControl und checkboxes boolesche Werte zu binden, was merkwürdig ist, da das standardmäßige Browser-Sendeverhalten den Wert des Kontrollkästchens und im Falle mehrerer Kontrollkästchen mit demselben Namen ein Array von Kontrollkästchenwerten sendet gebunden an den Namen der Checkboxen.

Wäre ziemlich nutzlos zu übermitteln:

%Vor%

Anstelle von:

%Vor%

Also im Wesentlichen: Wie macht man den String-Wert, nicht den booleschen Wert, mit angular 2?

Mit freundlichen Grüßen

    
Innovating Concepts 13.10.2016, 11:34
quelle

1 Antwort

2

Ich glaube, ich habe Ihr (und mein) Problem gelöst, indem ich eine benutzerdefinierte Direktive verwendete, die den CheckboxControlValueAccessor standardmäßig überschreibt. Angular2 Core setzt das onChange-Ereignis, um auszulösen, ob das Kontrollkästchen aktiviert ist oder nicht. Der folgende Code löst ein Objekt mit der Frage aus, ob es aktiviert ist und der Wert. Sie müssen nur das html-Element als Eingabe des Kontrollkästchens type festlegen und den Wert, den Sie verfolgen möchten, mit [value] = {valueToTrack}

verknüpfen %Vor%     
Austin Shoecraft 07.12.2016 21:00
quelle