首页 > 解决方案 > 通过 dataprovider 加载数据后的 react-admin 原始状态

问题描述

由于 react-admin 的时间问题,我遇到了一个问题,我正在寻求一些帮助。

这种情况是用户 A 创建资源,而用户 B 在另一台 PC 上,然后去列出和编辑该资源。

对于用户 B,列表页面加载 10 个资源的完整数据集,然后编辑页面重新加载正在编辑的单个资源。

但是,编辑页面上的具体流程似乎是:

  1. 渲染页面
  2. 渲染从列表页面缓存的资源
  3. 从 API 请求单个资源
  4. 使用来自 API 的更新值填充编辑表单
  5. 将表单设置为脏

最后一点很关键,因为我有一个动作按钮,只有当表单是原始的时才启用,所以用户必须在触发动作之前保存任何更改。

但在这种情况下,列表视图和编辑视图似乎为资源返回相同的数据,所以我不确定为什么表单被设置为脏。

有什么想法吗?

问候,安迪

标签: react-admin

解决方案


这不是一个完整的答案,但我希望它可以帮助您节省一些时间。我最近将 React Admin 版本从 3.5.3 升级到了 3.6.0。我注意到“保存”按钮现在有时会意外且不一致地禁用。例如,我可以通过单击链接导航到资源的编辑视图并启用“保存”按钮,但如果我刷新页面,则“保存”按钮被禁用。显然,当表单处于原始状态时,应该禁用“保存”按钮。因此,在 3.5.3 和 3.6.0 之间,似乎对原始处理或保存按钮对原始的反应进行了一些更改,并且无法始终如一地工作。

我看到三天前打开了一个关于覆盖保存按钮行为的新问题,wrt pristine。https://github.com/marmelab/react-admin/issues/4913。因此,这种行为似乎还没有尘埃落定。也许会发现一个错误。


推荐阅读