Tôi đã thử làm theo ví dụ về các câu trả lời khác từ đây và tôi đã không thành công!
Tôi đã tạo một biểu mẫu phản ứng (tức là động) và tôi muốn tắt một số trường vào bất kỳ thời điểm nào. Mã biểu mẫu của tôi:
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: ['']
}));
html của tôi:
<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>
Tôi đã giảm mã để tạo điều kiện. Tôi muốn tắt trường loại chọn. Tôi đã cố gắng làm như sau:
form = new FormGroup({
first: new FormControl({value: '', disabled: true}, Validators.required),
});
không làm việc! Còn ai có đề nghị nào không?
value
không phải là formArray, mà là formControlName. Nếu bạn muốn value
trở thành một formArray, bạn sẽ phải thay đổi nó. Hiện tại nó là một formControlName. Vì vậy, nếu bạn muốn toàn bộ chọn lĩnh vực bị vô hiệu, chỉ cần thay đổi <select formArrayName="value">
để<select formControlName="value">
first
':)?