微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用户收回更改后 Binder#hasChanges() 的状态

如何解决用户收回更改后 Binder#hasChanges() 的状态

对于没有绑定 bean 的绑定器,一旦绑定字段发生更改,hasChange() 方法就会返回 true。但是在更改恢复后它仍然是 true。因此,我正在寻找类似 isEqualToInitialState() 的东西,以便仅为真正的更改启用保存按钮。

是否有符合我意图的最佳实践?我也没有看到像 hasChangesComparedTo(Bean bean) 这样的方法

解决方法

CREATE TABLE table_name ( id,content ) AS SELECT 1,'1|1232' FROM DUAL UNION ALL SELECT 2,'23|12323' FROM DUAL UNION ALL SELECT 3,'33|233223' FROM DUAL; 只是一个“愚蠢”的跟踪器,无论是否有任何值 改变了。它没有“先前或原始值”的概念。

如果你想比较binder和原始bean的状态, 你必须自己做:

  1. (可选):向你的 bean 添加一个适当的 equals 方法,所以 比较容易处理
  2. 保留原始值/bean并在活页夹中设置一个副本(例如使用 Binder.hasChange 然后 readBean(orig) 将数据导入 一个新鲜的对象)
  3. 比较原件和副本,然后做出相应的反应

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。