Angular 5 FormControl 属性在禁用时没有 return 值
Angular 5 FormControl Attribute doesn't return values when disabled
我正在创建这样的响应式表单:
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" 属性的每个字段。
如何让它们通过该方法返回?
注意:我禁用了这些字段以获得与其他输入表单一致的视图。它看起来好多了,我认为一个字段不会对性能造成开销
这可能是由于 definition of forms by W3C(我预计 angular 具有与 "old HTML forms" 类似的方法)。禁用元素具有以下效果:
- 禁用的控件不会获得焦点。
- 在选项卡式导航中会跳过禁用的控件。
- 禁用控件无法成功。
- 禁用的控件不会提交数据。
这 "should" 由浏览器强制执行。您应该改用 angular 中的 Raw Values,这将忽略禁用状态。
我正在创建这样的响应式表单:
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" 属性的每个字段。
如何让它们通过该方法返回?
注意:我禁用了这些字段以获得与其他输入表单一致的视图。它看起来好多了,我认为一个字段不会对性能造成开销
这可能是由于 definition of forms by W3C(我预计 angular 具有与 "old HTML forms" 类似的方法)。禁用元素具有以下效果:
- 禁用的控件不会获得焦点。
- 在选项卡式导航中会跳过禁用的控件。
- 禁用控件无法成功。
- 禁用的控件不会提交数据。
这 "should" 由浏览器强制执行。您应该改用 angular 中的 Raw Values,这将忽略禁用状态。