Angular 5 FormControl属性在禁用时不返回值

时间:2018-03-15 16:51:29

标签: angular angular-forms

我正在创建一个这样的反应表:

this.modelForm = new FormGroup({
  number: new FormControl({value: '', disabled: true}),
  otherValue1: new FormControl({value: '', disabled: false}),
  otherValue2: new FormControl({value: '', disabled: true}),
  detail: new FormArray([])
});

现在,当我尝试获取表单的当前值时,我只得到:

this.modelForm.value => 
Object: { otherValue1: '' , detail:[] }

返回的对象中省略了具有“disabled:true”属性的每个字段。

如何通过该方法返回它们?

注意:我禁用字段以获得与其他输入表单的连贯视图。它看起来好多了,我不认为一个字段是性能的开销

1 个答案:

答案 0 :(得分:3)

这可能是由于表单的定义(我希望angular有类似的方法,例如"旧的HTML表单")。禁用元素具有以下效果:

  • 已禁用的控件无法获得焦点。
  • 在标签导航中跳过已禁用的控件。
  • 禁用的控件无法成功。
  • 已禁用的控件不会提交数据。

这"应该"由浏览器强制执行。您应该使用角度Raw Values来忽略禁用状态。