我在存儲表單時遇到了問題。該表單會加載一條用於編輯現有記錄的記錄,或者對於新記錄而言爲空白。編輯現有的記錄工作正常。創建一個新的也很好。如果我想編輯&更新新創建的記錄而不關閉並重新打開表單,則會出現問題。ExtJS在表單中更新商店中新創建的記錄時出現的4個問題 - loadRecord updateRecord
我想問題是商店內的記錄的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);
}
}
您可以在商店中爲寫入事件添加偵聽器,並更新您在表單中存在的實例的記錄ID。 – VoidMain
嘿VoidMain,我也想過。 ... var record = new app.model.newModel(basicForm.getFieldValues()); record.save({ success:function(){console.log(this)} }); ... 不幸的是,我仍然得到舊記錄不是新的更新記錄與分配編號 – Manuel
但thx的提示,你知道如何實現它嗎? – Manuel