我注意到,如果我禁用了Angular 2反应形式上的控件,则该控件不会包含在form.value中。例如,如果我定义如下形式:
this.notelinkingForm = new FormGroup({
Enabled: new FormControl(settings.Enabled, Validators.required),
LinkToPreceeding: new FormControl({value: settings.LinkToPreceeding, disabled: !settings.Enabled}, Validators.required),
LinkingTolerance: new FormControl({value: settings.LinkingTolerance, disabled: !settings.Enabled}, Validators.required)
});
并检查this.notelinkingForm.value,如果所有控件都启用,则输出为:
{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"}
但是,当某些控件被禁用时,它将是:
{"Enabled":true}
注意如何禁用禁用的控件。
我的意图是,当表单更改时,我希望能够将form.value及其所有属性传递给其余的API。如果其中不包含禁用的项目,则显然不可能。
我是否在这里缺少某些东西,或者这是预期的行为?有没有办法告诉Angular将禁用的项目包括在form.value中?
欢迎您的想法。