如何访问从ReferenceInput获取的数据以填充react admin中的ReferenceArrayInput选择?

时间:2018-09-04 10:38:30

标签: react-admin

当我获取数据时

<ReferenceInput
source="estateId"
reference="estates"
>
<SelectInput optionText="name" />
</ReferenceInput>

对于每个类似的庄园,我都会得到答案:

{
"id": 5,
"name": "test",
"livingUnits": [
{
"id": 1,
"name": "all"
},
{
"id": 2,
"name": "1."
}
]
}

我如何访问生活单元信息以填充R​​eferenceArrayInput选项?

<ReferenceArrayInput
source="livingUnitIds"            
>
<SelectArrayInput>
<ChipField source="name" />
</SelectArrayInput>              
</ReferenceArrayInput>

1 个答案:

答案 0 :(得分:0)

我认为您不能,我在源代码中进行了大量搜索,但没有找到一个干净的解决方案。 <ReferenceArrayInput>需要一个带有相关资源ID的数组,然后它向dataProvider查询资源和该数组上的ID。我应用的一个解决方案是更改请求的答案,以提供一个属性,该属性是具有相关资源的ID的数组,在您的示例中,遗产的答案应类似于:

{ "id": 5, "name": "test", "livingUnitsIds": [1, 2] }

之所以这样做,是因为我可以控制后端,如果那不是您的情况,则可能需要实现自定义<ReferenceInput>或要在组件onComponentDidMount生命周期中获取所需数据的组件方法。