【问题标题】:How can I add a <CreateButton> (seeding the foreign key) to a ReferenceManyField in admin-on-rest如何将 <CreateButton> (播种外键)添加到 admin-on-rest 中的 ReferenceManyField
【发布时间】:2018-01-21 23:50:54
【问题描述】:

我有一个帖子记录的编辑表单,我在 ReferenceManyField/DataGrid 中列出了与该帖子相关的评论(即&lt;ReferenceManyField target="post_id" reference="reviews"&gt;)。每个评论在数据库中都有外键post_id。这一切都很好,我为每个评论行都有一个编辑和删除按钮。

我需要为帖子表单添加一个“创建评论”按钮,以便在创建评论表单中的post_id 字段中预先填充帖子的当前id。我不是 React/Redux 方面的专家。

【问题讨论】:

    标签: admin-on-rest


    【解决方案1】:

    正如@Gildas 上面所建议的那样,您需要一个自定义组件。

    1) 一个自定义的创建按钮,用于路由到创建页面以供审核。为此,您应该查看 React Router Link 组件文档以及 Admin On Rest 将如何分配路由,例如 /:re​​viewId/create

    2) 创建一个自定义输入组件,该组件将在加载时预填充 ID。这应该是传递给您页面的道具中位置键的一部分。作为 cmets 提出其他问题,我将尝试回答。

    当你掌握 React 和 Redux 的窍门时,它们真的很简单

    【讨论】:

    • 如何调用id 的API 并在创建表单中填写默认值?
    • 我猜有很多开发人员几乎没有接触过 React 的表面并且已经在使用 React-admin。对他们来说,如果您添加一个 sn-p 自定义组件的外观会很有帮助并且作为奖励(因为没有被问到),还可以处理尚未找到零记录的情况在这种情况下,它可能会添加一个特殊的占位符。
    • 如果您愿意提供帮助,这里有一个新问题:stackoverflow.com/questions/50995057/…
    【解决方案2】:

    目前无法直接实现:您必须为此创建一个自定义组件:documentation

    有人试图解决这个问题,甚至提供了一个拉取请求。希望我们能尽快将其合并:https://github.com/marmelab/admin-on-rest/pull/744

    编辑:这可能有助于https://marmelab.com/blog/2018/07/09/react-admin-tutorials-form-for-related-records.html

    【讨论】:

    • 我刚刚发现您的博客文章所展示的内容不再适用于 ra 2.9.0。不起作用的事情是在 CommentCreate 组件中不再预填充 Post 字段。见codesandbox.io/s/m7w28n9v58
    • 我会尽快调查一下。不过可能不会在下周之前
    猜你喜欢
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2020-02-28
    • 2018-03-09
    • 2018-04-22
    • 2023-04-03
    相关资源
    最近更新 更多