저장소에 양식을 저장하는 데 문제가 있습니다. 양식은 기존 레코드를 편집하기위한 레코드를로드하거나 새 레코드에 대해 비어 있습니다. 기존 레코드를 편집하면 문제가 없습니다. 새로운 것을 만들면 잘 작동합니다. &을 편집하여 양식을 닫았다가 다시 열지 않고 새로 만든 레코드를 업데이트하려는 경우 문제가 발생합니다.저장소에서 새로 생성 된 레코드를 업데이트하는 양식의 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 = 새 app.model.newModel (basicForm.getFieldValues ()); record.save ({ 성공 : function() {console.log (this)} }); ... 불행히도 나는 이전의 레코드가 할당 된 ID – Manuel
으로 새롭게 업데이트 된 레코드가 아니라, 힌트를 위해 thx를 얻는 것을 보았습니다. 구현 방법을 알고 있습니까? – Manuel