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