Admin-On-Rest 自定义输入

Admin-On-Rest Customizing Inputs

我有一个用户资源,它被许多其他资源引用。
所以我想创建一个 UserResourceInput :

import React from 'react';
import {ReferenceInput, SelectInput} from 'admin-on-rest';


const UserReferenceInput = (props) => (
    <ReferenceInput reference="user" {...props}>
        <SelectInput optionText="name"/>
    </ReferenceInput>
);
UserReferenceInput.defaultProps = {
    source: 'userId',
    addLabel: true,
    label: 'User'
};

export default UserReferenceInput;

并像这样以简单的形式使用它:

ProductCreate = (props) => (
    <Create {...props}>
        <SimpleForm>
            <TextInput source="title" />
            <NumberInput source="price" />
            <UserReferenceInput />
        </SimpleForm>
    </Create>
);

但是我得到这个错误:

您缺少 ReferenceInput 上的 source 属性。因此,它找不到它的价值。您可以直接在 UserReferenceInput 中定义它,也可以将其作为 prop 传递给表单中的 UserReferenceInput

编辑

不要在 ReferenceInput 上使用 addLabel 属性,它不支持它。相反,将其应用于 SelectInput child.