代码之家  ›  专栏  ›  技术社区  ›  elsni

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

  •  0
  • elsni  · 技术社区  · 5 年前

    这个 List 当我指定时,react-admin的视图提供了一个“创建(新记录)”按钮 Create 视图在 Resource .

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

    我想要我的 创建 视图始终从预定义的记录结构开始。我该怎么做?

    0 回复  |  直到 5 年前
        1
  •  2
  •   Denis Kuratovich    5 年前

    所以看起来您需要创建表单的默认值。

    文档 : 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>
    );
    
        2
  •  0
  •   cmygray    5 年前

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