React 管理员将 Child 添加到 Parent

React Admin Add Child to Parent

首先我要说,我真的很喜欢react-admin。这是一个很棒的包裹!

但我的问题如下:如何将属性从 SelectInput 传递到我的数据提供者?

我在 ReferenceInput 中有一个 SelectInput 和一个自定义的添加和删除按钮。这行得通。但是我需要将我的 Parent 和我的 child 实体的 ID 传递给我的数据提供者,所以正确的 objects 可以是 added/removed。

代码:

<ReferenceInput label="Child to add" source="exercise_id" helperText="Add child to Parent" reference="exercise" filter={{type: 'ADD_CHILD'}}>
                        <SelectInput source="training" optionText="name" />
</ReferenceInput>

我在 ReferenceInput 中尝试使用过滤器,但过滤器只能通过获取数据来使用。而不是 Addind/Removing Child。 SelectInput 直接点击 GET_MANY 类型。

有没有好点子? 如果给我一两个小费,我会很高兴。

您可以使用 <FormDataConsumer> 组件获取表单中的值:

https://marmelab.com/react-admin/Inputs.html#linking-two-inputs

我终于让它工作了。这有点hacky,但我做到了。我创建了第二个 api 处理程序(不是 react-admin 中的 data-provider)并创建了两个自定义反应组件: 添加按钮和删除按钮。 这些在 parent 实体的创建和更新组件中使用。 调用 react-admin 的 refreshView 方法后,会重新获取数据并显示您添加的 child。呜呼!