Próbowałem już pójść za przykładem innych odpowiedzi stąd i nie udało mi się!
Utworzyłem formularz reaktywny (tj. Dynamiczny) i chcę w dowolnym momencie wyłączyć niektóre pola. Mój kod formularza:
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: ['']
}));
mój 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>
Skróciłem kod, aby ułatwić. Chcę wyłączyć pole wyboru typu. Próbowałem wykonać następujące czynności:
form = new FormGroup({
first: new FormControl({value: '', disabled: true}, Validators.required),
});
nie działa! Ktokolwiek ma jakieś sugestie?
value
nie jest formArray, to formControlName. Jeśli chcesz value
być formArray, musisz to zmienić. Obecnie jest to formControlName. Więc jeśli chcesz, aby całe pole wyboru zostało wyłączone, po prostu zmień <select formArrayName="value">
na<select formControlName="value">
first
? `:)