是否可以向Angular 2的反应形式添加可忽略的字段?
为简化起见,请查看此表格:
this.form = new FormGroup({
subTasks: new FormArray([]),
});
每个子任务都将由用户解决,解决方案将保存在FormArray中。
现在,为了显示不同子任务的文本,我在每个子任务中添加了一个名为“ text ”的FormControl
。但是当用户提交表单时,我不希望将任务文本与用户输入一起发送到服务器。
我知道我可以不使用它,或者在提交之前以编程方式删除它,但我想知道是否有办法清理它。谢谢!
答案 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();