首先,我必须说,我真的很喜欢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类型。
有人有好主意吗? 一两个小费我会很高兴。
答案 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!