かなり複雑なデータモデルの要件を持つクライアントがいます。つまり、データモデルは非常に巨大であるだけでなく (約 500 ~ 1000 フィールド、多くのオブジェクトにネストされています)、いつでもすべてのデータを送受信する必要があり、フィールドが常に変更されます (フォーカスを失った後)。すべて JSON として取得します。構造の例を次に示します。
{
data: {
somefield: 'some content'
},
label: {
somelabel: 'some label text'
},
applyable: {
somefield: {
visible: false
}
}
someSubForm: {
data: {
somefield: 'some content'
},
label: {
somelabel: 'some label text'
},
anotherSubForm: {
data: {
somefield: 'some content'
},
label: {
somelabel: 'some label text'
}
}
}
}
しかしそれだけではありません。モデルには、ラベル、ツールチップ、およびその他の構成も含まれています。同じデータが 2 つの異なるタブに表示される可能性がある場合、すべてのデータを複数のタブに表示する必要があります。必要なレイアウト (クライアントによって定義される) により、フォームは互いにネストされます。
バックエンドはお客様から提供されるため、ここでは何も変更できません。
JSON をロードするために、定義済みのプロキシーを持つ単一のモデルを使用することから始めました。しかし、その後、いくつかの問題に遭遇しました。
1 つ目は、ネストされたフォームの 1 つであっても、フォームは常にすべてのフィールドを追跡することです 2 つ目は、ラベルを変更したり、カスタム設定を適用したりできないことです 3 つ目は、大量のデータのために loadRecord() および getValues() メソッドがかなり実行されることです長いです。
私の質問は、各フォームがすべてのデータではなく独自のデータのみを処理するようにこれを分解するにはどうすればよいですか?カスタム設定を適用するにはどうすればよいですか?