FormizStep
Import
import { FormizStep } from "@formiz/core";
Props
name
Required
The name
is required to register the step in the form.
<Formiz connect={form}>
<FormizStep name="step1">{/* Your fields here */}</FormizStep>
<FormizStep name="step2">{/* Your fields here */}</FormizStep>
</Formiz>
as
Pass the tag for the step container. Default is <div>
.
<Formiz connect={form}>
<FormizStep name="step1" as={View}>
{/* Your fields here */}
</FormizStep>
<FormizStep name="step2" as={View}>
{/* Your fields here */}
</FormizStep>
</Formiz>
label
Can be passed to the step and then used to display when getting the steps with the useForm()
hook.
<Formiz connect={form}>
<FormizStep name="step1" label="First step">
{/* Your fields here */}
</FormizStep>
<FormizStep name="step2" label="Second step">
{/* Your fields here */}
</FormizStep>
</Formiz>
isEnabled
Set if the step should be enabled or not (default value is true
).
{
/* Display: `step1` > `step3`. */
}
<Formiz connect={form}>
<FormizStep name="step1">{/* Your fields here */}</FormizStep>
<FormizStep name="step2" isEnabled={false}>
{/* Your fields here */}
</FormizStep>
<FormizStep name="step3">{/* Your fields here */}</FormizStep>
</Formiz>;
order
Number to display the steps in the correct order (default is 0). If you use order, all steps should get an order property to prevent unexpected behavior.
{
/* Display order: `step2` > `step3` > `step1`. */
}
<Formiz connect={form}>
<FormizStep name="step1" order={3}>
{/* Your fields here */}
</FormizStep>
<FormizStep name="step2" order={1}>
{/* Your fields here */}
</FormizStep>
<FormizStep name="step3" order={2}>
{/* Your fields here */}
</FormizStep>
</Formiz>;
autoHide
Allows you to toggle the default style to display the step. Defaults to true
and will apply a display: none
on inactive steps.
// Example with Collapse from Chakra UI
import { Collapse } from "@chakra-ui/react";
const MyExample = () => {
const form = useForm();
return (
<Formiz connect={form}>
<Collapse in={form?.currentStep?.name === "step1"}>
<FormizStep autoHide={false} name="step1">
{/* Your fields here */}
</FormizStep>
</Collapse>
<Collapse in={form?.currentStep?.name === "step2"}>
<FormizStep autoHide={false} name="step2">
{/* Your fields here */}
</FormizStep>
</Collapse>
</Formiz>
);
};