2016-12-11 4 views
5

Ich versuche, ein einfaches Beispiel mit reaktiven/modellgesteuerten Formen zu arbeiten. Ich möchte ein Array von Kontrollkästchen an eine Liste von Werten binden und nicht an eine Liste von booleschen Werten.Bind-Kontrollkästchen, um mit reaktiven Formen anstelle von wahr/falsch zu bewerten

Dieses Plunker zeigt das Problem: http://plnkr.co/edit/a9OdMAq2YIwQFo7gixbj?p=preview Die auf die Formen gebunden Werte sind booleans, würde ich die Antwort mag so etwas wie ["value1", "value2", etc]

ich etwas davon zu sein, aber ich weiß nicht, wie man das Ergebnis, das ich will?

Die Vorlage:

<form [formGroup]="checkboxGroup"> 
    <input *ngFor="let control of checkboxGroup.controls['myValues'].controls" 
    type="checkbox" id="checkbox-1" value="value-1" [formControl]="control" /> 
</form> 

Und die Komponente:

let checkboxArray = new FormArray([ 
    new FormControl({checked: true, value: "value1"}), 
    new FormControl({checked: false, value: "value2"}))]); 

this.checkboxGroup = _fb.group({ 
    myValues: checkboxArray 
}); 

Antwort

1

Ein Kontrollkästchen Wert wird entweder aktiviert (true) oder nicht aktiviert (false). Im Allgemeinen macht es keinen Sinn, wenn ein Kontrollkästchen einen anderen Wert hat, aber wenn Sie dies dennoch tun möchten, müssen Sie Ihren eigenen Checkbox Value Assessor schreiben.

+0

Pflege weiter zu erarbeiten? Wenn ich Google [CheckboxValueAssessor] (https://www.google.com/search?q=angular2+CheckboxValueAssessor) google, bekomme ich diese Antwort. –

+0

Mein * Modell * könnte eine Zeichenfolge von "Y" oder "N" erfordern. Warum sollte ich also nicht in der Lage sein, seine Eigenschaften "[checked]" und "[value]" dynamisch festzulegen und die Zeichenfolge beizubehalten in meinem '[(ngModel)]'? – Cody

Verwandte Themen