现在,admin-on-rest在发出DELETE
API调用时会从其本地状态中删除资源。所以它甚至在用GET
刷新状态之前就从UI中消失了。这很酷。
但有时删除操作不是立竿见影的。真实世界的例子是AWS - 删除EC2实例需要时间。删除RDS实例需要15分钟。删除云端实例需要更长的时间。
对于我的API的一个子集,我希望DELETE
按钮更新本地状态(字段'状态'变为'删除')而不是删除它
查看this commit,所有CRUD_DELETE_SUCCESS
会导致资源从列表中删除。
我想我可以实现一个自定义动作和按钮(可能还有更多的复制意大利面添加确认页面?)但我不确定如何更新本地状态 - 显然这是自动发生的fetch: UPDATE
行动?
有没有人对“正确的”权利有任何想法。在admin-on-rest中执行此操作的方法?
答案 0 :(得分:0)
你可能也需要一个自定义传奇。在其中,使用检查它是否已完成所需的逻辑处理您的自定义删除操作。如果是,请使用预期数据发送CRUD_DELETE_SUCCESS
(您必须浏览代码)。
答案 1 :(得分:0)
您可以随时使用AOR进行自定义操作。 DELETING可以是您的组件调度的操作。
您可以指定Reducer在看到DELETING(将记录状态设置为删除)时执行状态更改 https://marmelab.com/admin-on-rest/Actions.html#using-a-custom-reducer
saga可以将您的用户重定向到“保留”页面。
AOR将在删除操作完成时拍摄DELETING_SUCCESS,否则拍摄DELETING_FAILURE。您可以使用它来显示通知,具体取决于通知状态。
你基本上绕过了现有的逻辑处理整个周期。