Angular 2 Reactive Forms - 使用可忽略的字段

时间:2017-11-30 19:32:50

标签: forms angular angular-reactive-forms

是否可以向Angular 2的反应形式添加可忽略的字段?

为简化起见,请查看此表格:

this.form = new FormGroup({
    subTasks: new FormArray([]),
});

每个子任务都将由用户解决,解决方案将保存在FormArray中。

现在,为了显示不同子任务的文本,我在每个子任务中添加了一个名为“ text ”的FormControl。但是当用户提交表单时,我不希望将任务文本与用户输入一起发送到服务器。

我知道我可以不使用它,或者在提交之前以编程方式删除它,但我想知道是否有办法清理它。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用的是禁用表单域text,这意味着该字段不包含在表单对象中,但您仍然可以使用它。样品:

this.myForm = this.fb.group({
  text: [{value:'text value', disabled: true}],
  somethingElse: ['something else']
});

并在模板中:

<form [formGroup]="myForm">
  <p>{{myForm.get('text').value}}</p>
  <input formControlName="somethingElse">
</form>

如果要检查整个表单对象,包括已禁用的字段,可以使用:

this.myForm.getRawValue();