Impossible de définir la valeur d'index à partir de la boucle pour former le contrôle dans l'angulaire sans utiliser NG-Model existe-t-il un moyen de l'accomplir?
//form Group this.sampledata= new FormGroup({ sample: new FormArray([this.createArray()]) }); //Form Array createArray(){ return this.formBuilder.group({ dx: null, index:null }) //Creation of array dynamically getControls(frmGrp: FormGroup, key: string) { return (<FormArray>frmGrp.controls[key]).controls; }
3 Réponses :
Essayez d'utiliser la liaison de la propriété
<div formArrayName="sample" *ngFor="let a of sampledata; let i = index"> <div [formGroupName]="i"> <input type="text" formControlName="i" name="i" [value]="i" /> <input formControlName="dx" type="text" class="form-control" /> </div> </div>
Mon FormControlName code> est Index B> uniquement et je dois définir la valeur de i b> pour cela.
@Gaganv Essayez la réponse mise à jour et vous avez besoin d'un nom unique pour chaque formulaire.
Aucune erreur d'index d'erreurs n'est pas réglée sur la valeur d'entrée, si nous ajoutons manuellement une entrée, il est de la valeur
Il y a quelques points que vous avez manqué dans votre code,
parce que vous traitez avec les balises d'entrée dynamique code>, vous devez donner le nom PS: strong> Pour une valeur, vous n'avez pas besoin d'ajouter espère que cela aide .. :) p> p> p> unique code> à < Code> formontrolname code> et qui peut être effectué avec le code ci-dessous. p>
{{}} code>. p>
depuis notre formulaireGroupName code> est unique, il ne traitera pas d'un problème avec le même
formelcontrolname code> car je reçois la valeur pour l'entrée
Nope * ngfor code> La valeur de l'index n'est pas réglé sur la valeur d'entrée, si nous ajoutons manuellement l'entrée, il est de la valeur
* ngfor code> doit être placé après avoir défini le nom du formaire. Vous devez modifier votre HTML comme ci-dessous,
<div formArrayName="samples">
<div *ngFor="let a of getControls(sampledata, 'sample'); let i = index"
[formGroupName]="i">
<input type="text" formControlName="index" name="index" value="{{ i }}"/>
</div>
</div>
Pouvez-vous également mentionner votre groupe de formes?
salut @ ng-suhas vérifier ma question il est mis à jour avec du groupe
J'ai donné ma réponse. J'espère que ça aide.