Form
El componente Form es un formulario que permite capturar datos del usuario. Ofrece funcionalidad para manejar el envío de formularios, opcionalmente realizar una acción al enviarlo y manejar un estado deshabilitado.
Ejemplo
Importación
Para importar el componente Form, se puede hacer desde fenextjs
import { Form } from "fenextjs";Parámetros
| Parámetro | Tipo | Requerido | Default | Descripcion | 
|---|---|---|---|---|
| id | string | no | '' | ID único para identificar el formulario, usado para personalizar la acción en eventos. | 
| onSubmit | () => Promise<void> | no | async () => {} | Función personalizada que se ejecuta al enviar el formulario. Debe ser una función asíncrona que realice la acción de envío. | 
| disabled | boolean | no | true | Indica si el formulario está deshabilitado, lo que previene la acción de envío. | 
| className | string | no | '' | Clase CSS para personalizar el estilo del formulario. | 
| children | ReactNode | no | undefined | Contenido o elementos dentro del formulario, típicamente los campos de entrada. | 
Eventos de tracking
Cuando el formulario tiene un 'id' definido y se envía correctamente, se registra un evento en el Data Layer.
| Evento | Descripción | 
|---|---|
| form-{id} | Evento de tracking cuando se envía el formulario con un 'id' definido. | 
Storybook
Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)
Usos
- Formulario básico
 
<Form>
  <InputText name="example" />
</Form>- Formulario con acción personalizada
 
<Form
  onSubmit={async () => {
    console.log("Formulario enviado");
  }}
>
  <InputText name="example" />
</Form>- Formulario deshabilitado
 
<Form disabled={true}>
  <InputText name="example" />
</Form>