我注意到,如果我在Angular 2 reactive表单上禁用一个控件,那么该控件就不会包含在表单中.价值例如,如果我像下面这样定义我的表单:

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)
});

看看这个.notelinkingForm.值,如果所有控件都已启用,则输出将为:

{"Enabled":true, "LinkToPreceeding": true, LinkingTolerance:"100"} 

但是,当某些控件被禁用时,它将是:

{"Enabled":true} 

请注意如何排除禁用的控件.

我的意图是,当表格改变时,我希望能够通过表格.值,并将其中的所有属性关闭到我的rest API.如果它不包含禁用的项目,这显然是不可能的.

我是错过了什么,还是这是预期的行为?有没有办法告诉Angular在表单中包含禁用项.价值

欢迎你的 idea .

推荐答案

你可以使用:

this.notelinkingForm.getRawValue()

Angular docs开始:

如果希望包含所有值,而不考虑禁用状态,请使用此方法.否则,value属性是获取组值的最佳方式.

Angular相关问答推荐

Angular中绑定嵌入标签src属性的问题

如何用ANGLE指令覆盖Html元素的数据绑定属性

声明Angular material 中按钮的自定义 colored颜色

Angular:将服务注入非独立组件导致应用程序中断

无法添加@angular/pwa

带迭代的Angular 内容投影

Angular 17多内容投影错误

如何在独立应用程序中全局禁用基于媒体查询的Angular 动画?

如何在Angular功能路由保护中取消订阅RxJs主题

如何在 Angular 中每 x 秒从 REST api 加载数据并更新 UI 而不会闪烁?

ng14中具有强类型表单的FormBuilder

Angular:显示带有嵌套子项的内容投影

在 angular2 中,如何获取在为 @Input 发送的对象上更改的属性的 onChanges

如何在 Angular 2 模板中使用枚举

如何以像素为单位将属性绑定到 style.width?

未绑定断点 - VS Code | Chrome | Angular

移除 Angular 组件创建的宿主 HTML 元素 Select 器

Angular - 工作区中未设置配置

为什么 *ngIf 不适用于 ng-template?

如何在 angular2 中的 div 的 contenteditable 上使用 [(ngModel)]?