【发布时间】:2017-08-07 23:38:21
【问题描述】:
我已经尝试按照此处其他答案的示例进行操作,但没有成功!
我创建了一个响应式表单(即动态表单),并且我想在任何给定时间禁用某些字段。我的表单代码:
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:
<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>
为了方便,我减少了代码。我想禁用类型选择的字段。我尝试执行以下操作:
form = new FormGroup({
first: new FormControl({value: '', disabled: true}, Validators.required),
});
不工作!有人有什么建议吗?
【问题讨论】:
-
当您尝试禁用一些名为
first的表单控件时,如何禁用选择?`:) -
这只是错字。我想禁用选择。你能帮帮我吗?
-
你能复制一个 plunker 吗?
-
您是否要禁用整个选择?而
value不是formArray,它是formControlName。如果您希望value成为 formArray,则必须更改它。目前它是一个formControlName。因此,如果您希望禁用整个选择字段,只需将<select formArrayName="value">更改为<select formControlName="value">
标签: angular