Textarea
The native textarea is easy too!
import { FormElement } from "@formatomus/core";
<FormElement.Textarea />
The <FormElement.Textarea />
component includes all the native props the regular <textarea />
element has, while automatically registering the element to the useForm
hook context.
Ensure the component is wrapped in the <FormElement />
component so that is it registered to your useForm
hook context correctly.
Styling
Use the native className
prop as the styling is completely up to you!
<FormElement.Textarea className="my-class-name" />
Error Handling
Error handling is easy with the useForm
hook, and we recommend powering it with yup
Component API
The component inherits all the available props from the native <textarea />
element.
However you can't use the id
or name
prop as we generate these automatically.
You also can't use onChange
, onBlur
, ref
, disabled
as these are handled by React Form Hook - this will likely change
Full Example
Here's a full example using the textarea input:
import { Form, FormElement } from "@formatomus/core";
import { useForm } from "react-hook-form";
type FormData = { info: string };
const Component = () => {
const methods = useForm<FormData>();
return (
<Form methods={methods}>
<FormElement name="info">
<FormElement.Label>Information</FormElement.Label>
<FormElement.Textarea placeholder="Information" />
<FormElement.Error>{({ message }) => <p>{message}</p>}</FormElement.Error>
</FormElement>
</Form>
);
};