React-Admin ReferenceInput问题

时间:2018-08-12 10:05:55

标签: reactjs validation react-admin

我正在尝试在我的创建和编辑产品页面中引用类别。请在下面找到代码:

const validateProduct = (values) => {
    const errors = {};
    if (!values.name) {
        errors.name = ['Product name is required'];
    }
    if (!values.category) {
        errors.category = ['Product category is required'];
    }
    return errors
};
export const ProductCreate = (props) => (
    <Create {...props}>
        <SimpleForm validate={validateProduct}>
            <TextInput source="name" />
            <ReferenceInput label="category" source="category._id" reference="categories">
                <SelectInput optionText="name" />
            </ReferenceInput>
            <TextInput source="price" />
            <LongTextInput source="description" />
            <TextInput source="image" />
        </SimpleForm>
    </Create>
);

const ProductTitle = ({ record }) => {
    return <span>Product {record ? `"${record.name}"` : ''}</span>;
};

export const ProductEdit = (props) => (
    <Edit title={<ProductTitle />} {...props}>
        <SimpleForm validate={validateProduct}>
            <DisabledInput source="id" />
            <TextInput source="name" />
            <ReferenceInput label="category" source="category._id" reference="categories">
                <SelectInput optionText="name" />
            </ReferenceInput>
            <TextInput source="price" />
            <LongTextInput source="description" />
            <TextInput source="image" />
        </SimpleForm>
    </Edit>
);

ReferenceInput几乎没有问题:

  1. 验证不适用于ReferenceInput。

  2. 在编辑产品页面中默认不选择现有类别。

enter image description here

我希望在添加/编辑页面中启用类别验证和类别选择。如何在React-Admin中实现这一目标?

谢谢

0 个答案:

没有答案