Create
<Create>
provides us a layout to display the page. It does not contain any logic but adds extra functionalities like action buttons and giving titles to the page.
We'll show what <Create>
does using properties with examples.
Propertiesβ
title
β
It allows adding title inside the <Create>
component. if you don't pass title props it uses "Create" prefix and singular resource name by default. For example, for the /posts/create
resource, it will be "Create post".
saveButtonProps
β
<Create>
component has a default button that submits the form. If you want to customize this button you can use the saveButtonProps
property like the code below.
Refer to the <SaveButton>
documentation for detailed usage. β
resource
β
The <Create>
component reads the resource
information from the route by default. This default behavior will not work on custom pages. If you want to use the <Create>
component in a custom page, you can use the resource
prop.
Refer to the custom pages documentation for detailed usage. β
goBack
β
To customize the back button or to disable it, you can use the goBack
property.
isLoading
β
To toggle the loading state of the <Create/>
component, you can use the isLoading
property.
breadcrumb
β
To customize or disable the breadcrumb, you can use the breadcrumb
property. By default it uses the Breadcrumb
component from @pankod/refine-antd
package.
Refer to the Breadcrumb
documentation for detailed usage. β
wrapperProps
β
If you want to customize the wrapper of the <Create/>
component, you can use the wrapperProps
property. For @pankod/refine-antd
wrapper elements are simple <div/>
s and wrapperProps
can get every attribute that <div/>
can get.
headerProps
β
If you want to customize the header of the <Create/>
component, you can use the headerProps
property.
Refer to the PageHeader
documentation from Ant Design for detailed usage. β
contentProps
β
If you want to customize the content of the <Create/>
component, you can use the contentProps
property.
Refer to the Card
documentation from Ant Design for detailed usage. β
headerButtons
β
You can customize the buttons at the header by using the headerButtons
property. It accepts React.ReactNode
or a render function ({ defaultButtons }) => React.ReactNode
which you can use to keep the existing buttons and add your own.
headerButtonProps
β
You can customize the wrapper element of the buttons at the header by using the headerButtonProps
property.
Refer to the Space
documentation from Ant Design for detailed usage. β
footerButtons
β
You can customize the buttons at the footer by using the footerButtons
property. It accepts React.ReactNode
or a render function ({ defaultButtons }) => React.ReactNode
which you can use to keep the existing buttons and add your own.
footerButtonProps
β
You can customize the wrapper element of the buttons at the footer by using the footerButtonProps
property.
Refer to the Space
documentation from Ant Design for detailed usage. β
actionButtons
β
actionButtons
Use headerButtons
or footerButtons
instead.
<Create>
uses the Ant Design <Card>
component. The action
property of the <Card>
component shows <SaveButton>
and <DeleteButton>
based on your resource definition in the resources
property you pass to <Refine>
. If you want to use other things instead of these buttons, you can use the actionButton
property like the code below.
import { Create, Button } from "@pankod/refine-antd";
export const CreatePage: React.FC = () => {
return (
<Create
actionButtons={
<>
<Button type="primary">Custom Button 1</Button>
<Button size="small">Custom Button 2</Button>
</>
}
>
...
</Create>
);
};
pageHeaderProps
β
pageHeaderProps
Use headerProps
, wrapperProps
or contentProps
instead.
<Create>
uses the Ant Design <PageHeader>
components so you can customize with the props of pageHeaderProps
.
By default, the breadcrumb
property of the <PageHeader>
component shows <Breadcrumb>
component.
Refer to the <PageHeader>
documentation for detailed usage. β
import { Create, Breadcrumb } from "@pankod/refine-antd";
export const CreatePage: React.FC = () => {
return (
<Create
pageHeaderProps={{
onBack: () => console.log("Hello, refine"),
subTitle: "Subtitle",
breadcrumb: <Breadcrumb breadcrumbProps={{ separator: "-" }} />,
}}
>
...
</Create>
);
};