'questions'のネストされたフォームグループ要素は、key:valueというランダムな長さのオブジェクトです。アンギュラ4ネストされたフォームの更新
私は要素を通過するには、以下のngForを使用しています:私は最初の2つのフォームレベルのフィールドのいずれかを更新していた場合 は、私はすぐに見ることができる:
<tr *ngFor="let questionConfigForm of myForm.controls.questions.controls; let i=index" [formGroupName]="i">
...
<div *ngFor="let param of objectKeys(questionConfigForm.controls.params.controls)" formGroupName="params">
<input type="text" [formControlName]="param">
は、私は、次の行動を持っています対応するフォームの変更は、{{myForm.value | json}}。 しかし、私が 'params'コントロールの1つに何かを入力すると、myFormの値に変更は見られませんでしたが、 'params'コントロールのフォームデータは、対応する 'question'フォームで変更すると更新されます。
私の場合、フォームコントロールは入力データを受け取りますが、いくつかの更新イベントをトリガーしません。私はそれを修正する方法はわかりません。フォーム内のpatchValue ..
私の質問は、paramsコントロールがmyFormをその奇妙な動作なしで更新する方法です。
UPD:
initQuestionConfig() {
return this.fb.group({
priority: ['1'],
params: this.fb.group({parameter: ['']}),
});
}
addQuestionConfig() {
const control = <FormArray>this.myForm.controls['questions'];
const newQuestionCfg = this.initQuestionConfig();
control.push(newQuestionCfg);
}
をあなたはどのようにあなたのためのコードを投稿することができますトップレベルフォームの質問配列に質問グループを追加していますか? –
@MilanRavalがUPDセクションに追加されました – Solar
ここでparamsは単一のコントロールではなく、INPUTとバインドしようとしていますか? –