元々Angular 2 Template Formとして作成されました。自動保存機能を追加するために、Reactiveフォームに変換しています。Angular Reactive Formでgrid/arrayを使用するには?
ページには一連のテキスト入力があり、.NET Web APIを介してバックエンドデータベースに保持されます。角度サービスはウェブAPIを呼び出します。
私は、ページのデータ・コントロールを表すFormGroupを作成しました:
const cells = fb.group({
id: [''],
question: [''],
actual: [''],
budget: [''],
average: [''],
top20: ['']
});
this.form = fb.group({
reviewer: '',
position: '',
officeName: '',
comments1: '',
comments2: '',
comments3: '',
rows: fb.array([cells, cells])
});
校閲、位置、officeNameを、そしてフィールドが期待通りに働いているが、私は、データセットを表現する方法を理解するトラブルを抱えているコメントFormGroup内の行とセルのダブル配列(グリッド)として正常に返されます。
this.molForm.patchValue({rows: this.rows});
:私はちょうど私のFormGroup項目に
this.rows
の値を割り当てた反応型バージョンで
this.rows = summaryReportQuestion.map(summaryReportQuestionObj => {
return {
cells: [
summaryReportQuestionObj.questionID,
summaryReportQuestionObj.question,
(summaryReportQuestionObj.columnSign == '$' ? (summaryReportQuestionObj.columnSign + ' ' + summaryReportQuestionObj.target) : summaryReportQuestionObj.target + ' ' + summaryReportQuestionObj.columnSign),
(summaryReportQuestionObj.budget == null ? summaryReportQuestionObj.budget : (summaryReportQuestionObj.columnSign == '$' ? summaryReportQuestionObj.columnSign + ' ' + this.utilityService.formatNumberWithCommas(Math.floor(summaryReportQuestionObj.budget), false) : summaryReportQuestionObj.budget + ' ' + summaryReportQuestionObj.columnSign)),
(summaryReportQuestionObj.average == null ? summaryReportQuestionObj.average : (summaryReportQuestionObj.columnSign == '$' ? summaryReportQuestionObj.columnSign + ' ' + this.utilityService.formatNumberWithCommas(Math.floor(summaryReportQuestionObj.average), false) : summaryReportQuestionObj.average + ' ' + summaryReportQuestionObj.columnSign)),
(summaryReportQuestionObj.top20Percent == null ? summaryReportQuestionObj.top20Percent : (summaryReportQuestionObj.columnSign == '$' ? summaryReportQuestionObj.columnSign + ' ' + this.utilityService.formatNumberWithCommas(Math.floor(summaryReportQuestionObj.top20Percent), false) : summaryReportQuestionObj.top20Percent + ' ' + summaryReportQuestionObj.columnSign))
]
};
});
:このようなグリッドデータが観測可能で受信されるテンプレートのフォームバージョンで
、
しかし、私は期待どおりに動作していません。
フォームグループでダブルアレイを使用する最も良い方法は何ですか?
ありがとうございます。あなたの提案に正しく従ったかどうかはわかりませんが、問題を理解するのに役立ちました。私はpatchValueの問題にぶつかりました。これは別の質問を開きます。 – lynnjwalker