【问题标题】:How can I manipulate props and filters of List to fetch specific data?如何操作 List 的 props 和过滤器来获取特定数据?
【发布时间】:2018-12-11 23:35:45
【问题描述】:

我想在模型的<TabbedShowLayout> 中的<Show> 中有一个<List> 的相关模型,所以我可以以<Datagrid> 的方式显示相关模型并让Actions 创建或删除相关数据.类似于reviews of posters in demo app,但我可以为该海报创建一个评论,而不是只显示相关的评论

我想知道是否可以通过仔细操作 <List> propsfilters 将其设置为获取特定数据?如果是,如何?我正在浏览 RA 的源代码,但我不知道 <List> 如何获取数据,以及用于获取的道具是什么。

我知道我可以将用户重定向到 Reviews 列表,其中 Poster 设置为 filter,但由于我有其他相关模型,所以不能只是回顾一下,为了更好的用户体验,我认为对于用户来说最好有一个带有相关模型选项卡的<TabbedShowLayout>,其中仅包含相关模型的<List> 显示为可以执行CRUD 操作的Actions

【问题讨论】:

  • 您知道ReferenceManyField 组件吗? marmelab.com/react-admin/Fields.html#referencemanyfield
  • 您可以在演示中看到它的实际效果:marmelab.com/react-admin-demo/#/customers/550
  • 是的,事实上我目前正在将它与Datagrid 一起使用,但不包括我想显示间接相关数据或多对多关系的用例。例如以Categories has many Product has many Reviews的demo模型为例;有很多是一对多的关系。如果在类别的Show 中,我希望有一个标签,其中包含与该类别关联的评论,我需要有一个嵌套的ReferenceManyField,一个用于获取产品,另一个用于获取评论,但列名称将是产品不是评论。没有什么是标签无法解决但仍然不理想的。
  • 对于多对多关系,我的后端应该返回一组相关模型 ID 以与 ReferenceArrayField 一起使用,但这只能部分解决我的问题,因为我想执行像 Crate 或 Delete 这样的操作来添加或删除相关模型和ReferenceFields 似乎纯粹是展示性的,带有指向相应编辑页面的链接。
  • 我正在使用 v2.1.1 选项卡路由系统进行测试,我可以调整我的后端以匹配路由,以便提供相关数据以在 List 中使用。我正在努力使用List 而不是ReferenceFields,因为第一个提供了许多实用程序来创建、操作和搜索第二个似乎不具备的数据。

标签: list react-admin


【解决方案1】:

这个问题的目的是了解类似RA enhancement 的东西是否存在,以及是否有任何解决方法。

现在这个答案是一个记录,知道该功能尚未实现,当功能存在时,将给出适当的解决方案。

【讨论】:

    猜你喜欢
    • 2015-11-21
    • 2019-05-13
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多