我已根据动态表单食谱tutorial实现了角度动态表单。我的输入也有id属性。如何在提交表单时处理表单?教程建议:
his.payLoad = JSON.stringify(this.form.value);
但这只会获得没有关于它们的元数据的值。 表单对象包含带有输入的控件数组,但值不存在。
我的意见:
COLLECT( )
我希望能够访问输入的值,因此它看起来类似于:
<input [formControlName]="input.key" [id]="input.key" [type]="input.type" class="form-control">
我找到了一种方法,但它需要在获取数据后查看表单的控件,这是错误的和不必要的。这样做的正确方法是什么?
答案 0 :(得分:0)
FormGroup的值属性中的值。
在你的情况下:
this.form.value = ...
表单的值取决于表单中每个控件的控件值访问器。因此,您需要实现自己的ControlValueAcessor才能在表单的控件中使用。它并不那么难,而且有一个非常好的教程: http://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html。看看这个。 在您的实现中,您应该获取id和value并将它们合并到一个对象中,然后将此合并对象作为对象的值。
指向教程的直接链接:http://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html#demos。