店舗へのフォームの保存に問題があります。フォームは、既存のレコードを編集するためにレコードをロードするか、新しいレコードのために空白になります。既存のレコードの編集は正常に機能します。新しいものを作成することもうまくいきます。フォームを閉じて再度開かずに、新しく作成されたレコードを編集および更新したい場合、問題が発生します。
問題は、ストア内のレコードのIDがリモートサーバーを介して割り当てられていることだと思います。フォームはモデルのコピーを保持しており、IDの変更に気づいていません。
フォームとストアの同期を維持する方法について何かアイデアはありますか?
保存には次のコードが使用されます。
var basicForm = this.up('form').getForm(),
record = basicForm.getRecord();
if (basicForm.isValid()) {
if (!record) {
record = Ext.data.StoreManager.lookup('theModel').add( this.up('form').getForm().getFieldValues())[0];
basicForm.loadRecord(record);
} else {
basicForm.updateRecord(record);
}
}