ember.js - 当用户取消编辑操作时,ember 回滚属性
问题描述
我有一个应用程序,用户可以在其中编辑产品并进行一些更改。当用户单击编辑按钮时,它会打开一个对话框。用户可以通过多个窗口并进行一些更改。之后,用户可以单击保存或取消编辑操作。在取消操作的情况下,我想回滚脏属性。我正在使用下面的代码来做同样的事情,但不知何故,一些更改确实会回滚,而其他更改则不会。谁能指出他们是否有问题?(以下是我的代码供参考)
cancelAction() {
if (this.get('isEditMode') && this.get('model').get('hasDirtyAttributes')) {
this.get('model').send('becomeInvalid');
this.get('model').rollBackAttributes();
}
解决方案
我建议以下方法:
- 每次打开模态之前复制模型
- 当用户进行更改时,使用副本
- 如果用户单击“保存”,则更新原始模型并将其持久化。
- 如果用户单击“取消”,则无需执行任何操作。
这样可以减少对恢复属性的担心并提供更好的用户体验。
推荐阅读
- python - TensorFlow 入门页面 - 打印前 5 行
- hadoop - 如何从配置单元查询中获取链接数据?
- vba - 比较并获得最佳日期和相关字段
- java - 随时接受更多 Observables 的 RxJava -2 Observables?
- webpack - 如何使用 webpack 预编译车把模板?
- python-3.x - Fsolve,从 matlab 复制代码,由于 Fsolve 要求,答案不匹配
- java - 需要 Java 数组帮助
- swift - 在没有 UINavigationController 的情况下使用 Alert 推送 UIViewController
- c# - 使用非英文文件名发布文件
- mysql - 带有 GROUP BY 的 COUNT + GROUP_CONCAT 返回错误值