如何在 react-admin 的列表视图中的"创建"按钮上预填充复杂嵌套表单的结构?



当我在Resource中指定Create视图时,react-admin 的List视图提供了一个开箱即用的"创建(新记录("按钮。

由于我的记录结构嵌套了三个级别,因此包含具有数组 a.s.o. 的对象的对象,从空记录(刚{}(开始会导致验证函数中出现一堆"未定义"的错误,当我使用FormDataConsumer测试某些值以根据其他值折叠/展开表单的一部分时。

我希望我的Create视图始终从预定义的记录结构开始。我该怎么做?

因此,看起来您需要默认值来创建表单。

文档:https://marmelab.com/react-admin/CreateEdit.html#default-values

const postDefaultValue = { created_at: new Date(), nb_views: 0 };
export const PostCreate = (props) => (
<Create {...props}>
<SimpleForm initialValues={postDefaultValue}>
<TextInput source="title" />
<RichTextInput source="body" />
<NumberInput source="nb_views" />
</SimpleForm>
</Create>
);

您可以平展所有嵌套结构,并在提交之前将输入数据恢复回嵌套结构。本文档可以帮助您: https://marmelab.com/react-admin/CreateEdit.html#altering-the-form-values-before-submitting

相关内容

  • 没有找到相关文章