Reactjs 我可以使用ReferenceArrayInput编辑对象列表(而不仅仅是ID列表)吗?

Reactjs 我可以使用ReferenceArrayInput编辑对象列表(而不仅仅是ID列表)吗?,reactjs,react-admin,react-final-form-arrays,Reactjs,React Admin,React Final Form Arrays,在React Admin中,我尝试管理一个项目,它看起来有点像这样: { "title": "Title of my record", "source_id": "525560", "source_timestamp": 1547732039, "tags": [ { "id": 9, "name&q

在React Admin中,我尝试管理一个项目,它看起来有点像这样:

{
  "title": "Title of my record",
  "source_id": "525560",
  "source_timestamp": 1547732039,
  "tags": [
    {
      "id": 9,
      "name": "Tag0",
      "description": "Descriptio of tag 0"
    },
    {
      "id": 10,
      "name": "Tag1",
      "description": "Descriptio of tag 1"
    }
  ]
}
标记作为主项内的对象列表提供

我希望能够管理这个,但我在编辑视图中的代码是错误的:

export const IncidentEdit = props => {
    var _tag_ids = [1,2,3,4];
    return <Edit title={<IncidentTitle/>} {...props}>
        <SimpleForm>
            <TextInput fullWidth source="title"/>
            <TextField source="description"/>

            <ReferenceArrayInput label="tags" reference="tag" source="tags">
                <SelectArrayInput>
                    <ChipField source="name"/>
                </SelectArrayInput>
            </ReferenceArrayInput>

        </SimpleForm>
    </Edit>
};
export const IncidentEdit=props=>{
var_tag_ids=[1,2,3,4];
返回
};
这不起作用,因为ReferenceArrayInput希望
record.tags
是标记外键的列表。它实际上是一个标签列表(所以我们实际上不需要查找任何东西)。它也失败了,因为它返回的是一个外键列表,而API只是希望返回一个标记对象列表

我们可能会争辩说API设计得很糟糕,但我们能适应这种情况吗


在我将这些记录输入ReferenceArrayInput之前,是否有办法将它们转换为forign键ID列表,然后在将它们发送回API之前,进行相反的操作?或者,我可以更改API,使其只返回外键而不返回实际的标记对象。

在这种情况下,您似乎不必获取额外的数据。您的API响应正常,可能只有aproach不正确

为什么不将
ArrayInput
SimpleIterator
一起使用呢?它允许您编辑嵌套记录中的所有字段,甚至在需要时使用
ReferenceInputs

<ArrayInput source="tags">
    <SimpleFormIterator>
        <TextInput source="id" disabled />
        <TextInput source="name" />
        <TextInput source="description" />
    </SimpleFormIterator>
</ArrayInput>


它不适用于
tagid
,如何使用
ReferenceArrayInput
检索标记并在其中显示
SimpleFormIterator
?请打开一个新线程并在其中ping我。看来你的问题不同了。