在react-admin的ReferenceInput组件中设置默认值,可以通过在FormDataConsumer组件中使用initialValues属性来实现。
首先,确保你已经安装了react-admin和相关的依赖。然后,在你的代码中引入相关的组件和方法:
import React from 'react';
import { FormDataConsumer, ReferenceInput, SelectInput } from 'react-admin';
接下来,在你的表单中使用ReferenceInput组件,并在其内部使用FormDataConsumer组件来获取默认值。在FormDataConsumer组件中,使用initialValues属性来设置默认值。例如,假设你有一个名为"category"的引用字段,你可以这样设置默认值:
const MyForm = () => (
<form>
<ReferenceInput source="category_id" reference="categories">
<SelectInput optionText="name" />
</ReferenceInput>
<FormDataConsumer>
{({ formData, ...rest }) => (
<ReferenceInput
source="subcategory_id"
reference="subcategories"
filter={{ category_id: formData.category_id }}
{...rest}
>
<SelectInput optionText="name" />
</ReferenceInput>
)}
</FormDataConsumer>
</form>
);
export default MyForm;
在上面的代码中,我们首先使用ReferenceInput组件来选择一个"category_id"字段。然后,在FormDataConsumer组件中,我们获取到了表单数据(formData),并将其传递给了ReferenceInput组件的filter属性中,以便根据选择的"category_id"过滤子类别。这样,就可以根据选择的类别动态设置子类别的默认值。
请注意,上述代码中的"categories"和"subcategories"是示例中的引用资源名称,你需要根据你的实际情况进行替换。
这是一个简单的示例,你可以根据你的实际需求进行修改和扩展。希望对你有帮助!
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云