Form
The <Form> component acts as an enhanced version of the native HTML form. It streamlines form data collection, validation management, and submission handling.
Basic usage
vue
<script lang="ts" setup>
import { useForm } from 'vue-formify';
const { Form, Field, handleSubmit } = useForm();
const sendForm = handleSubmit((data) => {
console.log(data);
});
</script>
<template>
<Form @submit="sendForm">
<Field name="first_name" />
<Field name="last_name" />
<button>Send</button>
</Form>
</template>Set initial values
You can set initial values either by providing them as an option to the composable or by passing them as a prop to the Form component:
vue
<script lang="ts" setup>
import { useForm } from 'vue-formify';
const { Form, Field, handleSubmit } = useForm({
initialValues: {
first_name: 'John',
last_name: 'Doe'
}
});
</script>vue
<template>
<Form @submit="sendForm" :initial-values="{ first_name: 'John', last_name: 'Doe' }">
<Field name="first_name" />
<Field name="last_name" />
<button>Send</button>
</Form>
</template>API reference
Props
| Prop name | Description |
|---|---|
| enctype | Specifies how the form data should be encoded. |
| initialValues | Sets initial values for form elements. |
| name | Defines the name of the form. |
Events
| Event | Description |
|---|---|
| submit | Emits form data, automatically extracting the values. |
| value-change | Fires when form data changes, useful for triggering side effects. |
Slots
| Slot | Parameter | Description |
|---|---|---|
| default | { values, errors } | Provides access to form data and errors. |