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.
我有一个用户资源,它被许多其他资源引用。
所以我想创建一个 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.