angular2 case formcontrol
Pour une simple case à cocher avec une chaîne de valeur liée à un FormControl:
export class CheckboxComponent {
formControl: FormControl;
option: {value: string};
constructor() {
this.formControl = new FormControl();
this.option = {value: "MyValue"};
this.formControl.valueChanges.subscribe(console.log);
}
}
<input type="checkbox" [formControl]="formControl" [value]="option.value" name="SomeName" />
La sortie de la abonnez-vous est true, false, true, false....
Je veux l'angle de 2 à lier la valeur de chaîne "Mavaleur" dans le FormControl.
Par défaut angulaire 2, FormControl et cases à cocher semblent lier les valeurs booléennes qui est étrange, car le navigateur par défaut de soumettre le comportement est pour envoyer la valeur de la case et, dans le cas de plusieurs cases avec le même nom, un tableau de la case à cocher valeurs liées à la nom des cases à cocher.
Serait assez inutile de soumettre:
Items=[true, false, true, true, true, false]
Au lieu de:
Items=[Toothbrush, Floss, Glock, Clean underwear]
Donc, en substance: Comment faire angulaire 2 lier la chaîne de valeur, la valeur booléenne?
Salutations,
- Toute mise à jour? Je suis aux prises avec le même problème.
Vous devez vous connecter pour publier un commentaire.
Je crois que j'ai résolu votre (et mon) problème en utilisant une coutume directive qui "remplace" le défaut CheckboxControlValueAccessor. Angular2 des ensembles de base de l'événement onChange de feu si la case est cochée ou non. Le code ci-dessous feux d'un objet avec la question de savoir si elle est cochée, et la valeur. Vous aurez juste besoin de définir l'élément html comme un input de type checkbox, et attaché à la valeur que vous souhaitez suivre avec [valeur]={valueToTrack}