¡Ya intenté seguir el ejemplo de otras respuestas de aquí y no lo logré!
Creé un formulario reactivo (es decir, dinámico) y quiero deshabilitar algunos campos en cualquier momento. Mi código de formulario:
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: ['']
}));
mi 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>
Reduje el código para facilitar. Quiero deshabilitar el campo de tipo seleccionar. Intenté hacer lo siguiente:
form = new FormGroup({
first: new FormControl({value: '', disabled: true}, Validators.required),
});
¡no funciona! alguien tiene una sugerencia?
first
? `:)value
no es un formArray, es un formControlName. Si deseavalue
ser un formArray, tendrá que cambiarlo. Actualmente es un formControlName. Entonces, si desea que todo el campo de selección esté deshabilitado, simplemente cambie<select formArrayName="value">
a<select formControlName="value">