当我在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