反应管理员添加孩子到父母

时间:2019-11-26 11:07:47

标签: reactjs react-admin

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

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

我在ReferenceInput中有一个SelectInput和一个自定义的“添加和删除”按钮。这可行。但是我需要将“我的父母”和我的孩子实体的ID传递给我的数据提供者,以便可以添加/删除正确的对象。

代码:

<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 / Remove Child时。 SelectInput开箱即用的是GET_MANY类型。

有人有好主意吗? 一两个小费我会很高兴。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我终于使它起作用了。这有点hacky,但是我做到了。我创建了第二个api处理程序(不是react-admin的数据提供程序),并创建了两个自定义的react组件: AddButton和Remove Button。 这些在父实体的“创建和更新组件”内部使用。 调用react-admin的refreshView方法后,将新获取数据并显示您添加的子级。 hu!