【发布时间】:2017-07-26 02:56:53
【问题描述】:
我觉得这应该很简单,但是对于我的特定用例,我找不到任何东西(至少没有大量开销编码)。基本上我有一个不是模式的更新个人资料页面。用户更新后,我希望将表单重置回原始状态并使用当前值,以防用户想要进行更多编辑。
我正在使用 ngForm 的 reset()(也尝试过 resetForm())。这会将其重置为原始状态等,但它也会删除输入中的所有值。在我使用[(ngModel)]="userRecord.phone" 等的每个输入上,我的userRecord 仍然正确。
有没有一种简单的方法可以在重置后保留或取回模型值?
onSubmit(event, profileForm: NgForm) {
event.preventDefault();
const myTempVar = this.userRecord;
this.userRecord.put()
.catch((e) => {
this.isProcessing = false;
return Observable.of(false);
})
.subscribe((response) => {
this.displayConfirmation = 'Profile has been updated successfully.'
this.isProcessing = false;
this.userRecord = myTempVar;
}, (err) => {
console.log('There was an error saving', err);
this.displayError = 'Unknown error. Please refresh this page and try again.'
this.isProcessing = false;
});
}
如果我不进行重置,就是这样。我希望它是这样的,除了原始并再次启用提交按钮(尽管现在我注意到如果我进行重置,无论如何都不会发生这种情况。:-()。
【问题讨论】:
-
当用户提交 from 时,您是否将新值应用于
userRecord变量? -
是的,正是约翰 - 不想更改数据。
-
Praveen,我在提交后没有对 userRecord 应用任何新值,但我想我可以从数据库中刷新。
标签: angular