ext 4 モデルがフォーム パネルにどのように関連付けられるかを明確にしたいと思います。たとえば、REST プロキシが接続された "User" というモデルがあるとします。
ユーザーパラメータを変更したいときは、フォームを使用します
loadRecord( Ext.data.Model record ) : Ext.form.Basic
メソッドを使用して、フォームのフィールド値を設定します。
変更後、「updateRecord」メソッドを呼び出してフォームから読み込まれたモデルに変更を送信し、モデルの「save」メソッドを使用して変更をサーバーに送信します。これは非常にうまく機能し、Ext MVC の概念に適合しているようです。
質問
しかし、問題は、ユーザーのデータ (アバターなど) を変更しながら、ファイルをアップロードする必要がある場合に、MVC に準拠するにはどうすればよいかということです。ドキュメントから学んだことによると、フォームの「送信」メソッドを使用して、ファイルを含む更新されたデータをサーバーに送信するように切り替える必要があります。
この場合、いくつかの欠点があります。
- フォームに読み込まれた元のモデルは更新されません。
- モデルを更新すると (「updateRecord」またはその他の方法を使用)、モデルはダーティな状態のままになりますが、変更は既にサーバーに送信されています。
- サーバー側を変更する必要がないように、モデルと同じプロキシ構成をフォームに適用する必要があります。
これは、ext フォームを介してファイルのアップロードを実装する正しい方法ですか? よりMVCスタイルにするために、model.saveメソッドを使用してこれを行う方法はありますか?