我正在QtQuick中使用带有C ++后端(模型,业务逻辑)和声明性UI的应用程序。
假设我有一个ItemModel,通过对数据库(在云中)运行查询来填充。然后,该模型在UI中显示为列表。现在,我想执行一项从列表中删除项目的操作。最好的处理方法是什么?
我可以在用户删除项目后立即更新UI,然后将其从模型中删除,然后触发从数据库中删除项目的操作。很好,直到操作由于某种原因而失败,并且我的模型不再与数据库匹配。
另一方面,我可以先执行数据库删除,然后根据结果更新模型,然后更新UI。这样可以确保模型和视图始终与数据库同步,但可能导致UI响应无响应。
答案 0 :(得分:0)
您应该先执行操作,然后在出现问题时显示错误(并确保出现问题的可能性极小)。那就是如果这不是关键任务的东西。如果是这样,则其他UI模式可能更合适。