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。呜呼!
首先我要说,我真的很喜欢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。呜呼!