Angular 2动态形式获得复杂的值

时间:2016-10-16 16:48:08

标签: angular angular2-forms

我已根据动态表单食谱tutorial实现了角度动态表单。我的输入也有id属性。如何在提交表单时处理表单?教程建议:

  

his.payLoad = JSON.stringify(this.form.value);

但这只会获得没有关于它们的元数据的值。 表单对象包含带有输入的控件数组,但值不存在。

我的意见:

COLLECT( )

我希望能够访问输入的值,因此它看起来类似于:

<input [formControlName]="input.key" [id]="input.key" [type]="input.type" class="form-control">

我找到了一种方法,但它需要在获取数据后查看表单的控件,这是错误的和不必要的。这样做的正确方法是什么?

1 个答案:

答案 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