J'ai déjà essayé de suivre l'exemple d'autres réponses d'ici et je n'ai pas réussi!
J'ai créé un formulaire réactif (c'est-à-dire dynamique) et je souhaite désactiver certains champs à tout moment. Mon code de formulaire:
this.form = this._fb.group({
name: ['', Validators.required],
options: this._fb.array([])
});
const control = <FormArray>this.form.controls['options'];
control.push(this._fb.group({
value: ['']
}));
mon html:
<div class='row' formArrayName="options">
<div *ngFor="let opt of form.controls.options.controls; let i=index">
<div [formGroupName]="i">
<select formArrayName="value">
<option></option>
<option>{{ opt.controls.value }}</option>
</select>
</div>
</div>
</div>
J'ai réduit le code pour faciliter. Je souhaite désactiver le champ de type select. J'ai essayé de faire ce qui suit:
form = new FormGroup({
first: new FormControl({value: '', disabled: true}, Validators.required),
});
Ca ne fonctionne pas! Quelqu'un a-t-il une suggestion?
value
n'est pas un formArray, c'est un formControlName. Si vous voulez value
être un formArray, vous devrez le changer. Actuellement, il s'agit d'un formControlName. Donc, si vous voulez que tout le champ de sélection soit désactivé, <select formArrayName="value">
<select formControlName="value">
first
? `:)