Angular2 patchValue pousser valeur dans un tableau
Est-ce qu'Il ressemble Angular2 de FormGroup.patchValue() ne pas pousser de nouveaux éléments dans un tableau.
Par exemple quelque chose comme ceci:
ngOnInit() {
this.form = this.formBuilder.group({
animal: [''],
school: this.formBuilder.group({
name: [''],
}),
students: this.formBuilder.array([this.formBuilder.control('Bob')])
});
setTimeout(() => this.form.patchValue({
animal: 'cat'
school : {name: 'Fraser'},
students: ['Bob gets edited', 'This will not show']
}), 250);
}
Ne mise à jour le premier élément "élèves" mais il ne sera pas insérer le deuxième élément.
De quoi aurais-je besoin de faire pour l'afficher à la fois les éléments?
OriginalL'auteur Chi Chan | 2016-12-01
Vous devez vous connecter pour publier un commentaire.
.patchValue()
uniquement les mises à jour de l'existantFormArray
, il ne modifie pas la structure de votre modèle de formulaire.Vous avez réellement besoin de pousser un nouvel élément dans le tableau dans l'ordre pour qu'il apparaisse.
C'est tout dans les
FormArray
documentation https://angular.io/docs/ts/latest/api/forms/index/FormArray-class.htmlBonne question @kostia. Pourriez-vous comprendre cela?
OriginalL'auteur silentsod
Bien, comme silentsod dit, il n'est pas possible. Actuellement, je suis en utilisant ci-dessous comme une alternative:
Angulaire de l'Équipe - Nous avons besoin d'une nouvelle fonction, quelque chose comme PatchArray() qui serait patch à partir d'une collection/objet graphique. Il s'agit d'une base de cas d'utilisation.
OriginalL'auteur Manish Jain
Bien, la solution que j'ai trouvé est:
OriginalL'auteur Giovane
J'espère que cela va vous aider. J'ai un objet complexe où mon objet est un objet à l'intérieur de l'objet et de l'intérieur. désolé pour mes fautes de grammaire. mais j'espère que mon code va vous aider à
OriginalL'auteur bl2b