Ho già provato a seguire l'esempio di altre risposte da qui e non ci sono riuscito!
Ho creato un modulo reattivo (cioè dinamico) e desidero disabilitare alcuni campi in un dato momento. Il mio codice modulo:
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: ['']
}));
il mio 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>
Ho ridotto il codice per facilitare. Voglio disabilitare il campo di selezione del tipo. Ho provato a fare quanto segue:
form = new FormGroup({
first: new FormControl({value: '', disabled: true}, Validators.required),
});
non funziona! Qualcuno ha un suggerimento?
value
non è un formArray, è un formControlName. Se vuoi value
essere un formArray dovresti cambiarlo. Attualmente è un formControlName. Quindi, se vuoi disabilitare l'intero campo di selezione, cambia semplicemente <select formArrayName="value">
in<select formControlName="value">
first
? `:)