2016-10-16 5 views
0

私は、ダイナミックフォームの料理書tutorialに基づいて角度の付いた動的なフォームを実装しました。私の入力にはid属性もあります。どのようにフォームを提出したら処理するのですか?このチュートリアルでは、次のことを提案しています。角2の動的フォームは複素数値を取得

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

しかし、それは私にそれらに関するメタデータのない値しか得られません。 フォームオブジェクトには、入力があるcontrols配列が含まれていますが、値はありません。

私の入力:私はこれまでどのような方法を発見した

form: [ 
    { 
     id: 'id of the input', 
     value: 'value of the input' 
    }, 
    ... 

:私はそれがこれに似ていますように、入力の値にアクセスできるようにしたいと思い

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

データを取得した後、フォームのコントロールを調べる必要があり、それは間違っていて不必要です。これを行う正しい方法は何ですか?

答えて

0

FormGroupのvalueプロパティの値。あなたのケースでは

this.form.value = ... 

フォームの値は、フォーム内のすべての単一の制御の制御値アクセサに依存します。したがって、フォームのコントロールで使用する独自のControlValueAcessorを実装する必要があります。それほど難しいことではなく、実際に良いチュートリアルがあります: http://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html。見てみな。 実装では、IDと値を取得して1つのオブジェクトにマージし、このマージしたオブジェクトをオブジェクトの値にする必要があります。

tutorial's plunkerへの直接のリンク:http://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html#demos

+0

私はそれを実装することができましたが、闘争はformControlValueとのバインディングを理解していました。 – Zoidy

関連する問題