我开始使用react-admin
包。
由于我想使用另一个Select
的数据创建一个Resource
,因此我无法进行开发。这就是为什么我使用ReferenceField
的原因,但我不知道为什么在使用此元素时会收到此错误。
Error: The response to 'GET_LIST' must be like { data : [{ id: 123, ...}, ...] }, but at least one received data item do not have an 'id' key. The dataProvider is probably wrong for 'GET_LIST
以下是我从API收到的数据:
[{"_id":"5e3ec3baa6480d002b24ea90","name_promo":"test","years":"2019-01-01T00:00:00.000Z","__v":0}]
有关信息,我使用提供者ra-data-json-server
这是我的代码:
import React from 'react';
import {
Create,
SimpleForm,
TextInput,
ReferenceInput,
SelectInput,
} from 'react-admin';
const CreateUser = (props) => (
<Create {...props}>
<SimpleForm>
<TextInput source="lastName" label="Prénom" />
<TextInput source="firstName" label="Nom" />
<TextInput source="email" label="Email" />
<TextInput source="role" label="Role" />
<ReferenceInput label="Session" source="id" reference="sessions" >
<SelectInput optionText="name_promo"/>
</ReferenceInput >
</SimpleForm>
</Create>
);
export default CreateUser;
答案 0 :(得分:0)
您的数据从API返回,其ID字段名为"_id"
,而不是必需的"id"
。
我们通过将以下内容添加到我们的(python)API中解决了这个问题。
myData = mongo.get(...)
for x in myData:
x['id'] = x['_id'] // Now each record has both '_id' and 'id'
return {'data': myData}, HTTPStatus.CREATED
答案 1 :(得分:0)
默认情况下,ra-admin使用键 id 和 name ,如果您的API调用未返回该公司,则必须将其声明为组件上的道具 >
<ReferenceInput label="Session" source="id" reference="sessions" >
<SelectInput optionText="name_promo" optionValue="_id" />
</ReferenceInput>