“ ArrayInput”,但仅适用于单个项目

问题描述

“编辑”上下文中的以下代码片段创建了一个如下所示的数组。

import { ArrayInput,SimpleFormIterator,DateInput,TextInput } from 'react-admin';

<ArrayInput source="backlinks">
    <SimpleFormIterator>
        <DateInput source="date" />
        <TextInput source="url" />
    </SimpleFormIterator>
</ArrayInput>

JSON:

{
  "id": 123,"backlinks": [
        {
            "date": "2012-08-10T00:00:00.000Z","url": "http://example.com/foo/bar.html",},{
            "date": "2012-08-14T00:00:00.000Z","url": "https://blog.johndoe.com/2012/08/12/foobar.html",}
   ]
}

是否有一种方法可以使单个项目达到相同的目的?类似于参考字段,但没有选择现有项目的功能。相反,用户应该需要像上面的示例一样创建一个

解决方法

您不需要特殊的输入组件,react-admin输入可通过在source道具中指定路径来默认情况下编辑嵌套对象

<DateInput source="backlink.date" />
<TextInput source="backlink.url" />

希望这可以解决问题。