docs: fix checkbox and radio form examples

add type="checkbox|radio" and name in FormField
This commit is contained in:
Sadegh Barati 2023-12-19 18:03:46 +03:30
parent 96da2d8ffe
commit 8cae5b70b5
6 changed files with 10 additions and 18 deletions

View File

@ -77,16 +77,12 @@ const onSubmit = handleSubmit((values) => {
</FormDescription>
</div>
<FormField v-for="item in items" v-slot="{ value, handleChange }" :key="item.id" name="items">
<FormItem :key="item.id" class="flex flex-row items-start space-x-3 space-y-0">
<FormField v-for="item in items" v-slot="{ value, handleChange }" :key="item.id" type="checkbox" :value="item.id" :unchecked-value="false" name="items">
<FormItem class="flex flex-row items-start space-x-3 space-y-0">
<FormControl>
<Checkbox
:checked="value.includes(item.id)"
@update:checked="(checked) => {
if (Array.isArray(value)) {
handleChange(checked ? [...value, item.id] : value.filter(id => id !== item.id))
}
}"
@update:checked="handleChange"
/>
</FormControl>
<FormLabel class="font-normal">

View File

@ -37,7 +37,7 @@ const onSubmit = handleSubmit((values) => {
<template>
<form class="space-y-6" @submit="onSubmit">
<FormField v-slot="{ value, handleChange }" name="mobile">
<FormField v-slot="{ value, handleChange }" type="checkbox" name="mobile">
<FormItem class="flex flex-row items-start gap-x-3 space-y-0 rounded-md border p-4">
<FormControl>
<Checkbox :checked="value" @update:checked="handleChange" />

View File

@ -35,7 +35,7 @@ const onSubmit = handleSubmit((values) => {
<template>
<form class="w-2/3 space-y-6" @submit="onSubmit">
<FormField v-slot="{ componentField }" name="type">
<FormField v-slot="{ componentField }" type="radio" name="type">
<FormItem class="space-y-3">
<FormLabel>Notify me about...</FormLabel>

View File

@ -77,16 +77,12 @@ const onSubmit = handleSubmit((values) => {
</FormDescription>
</div>
<FormField v-for="item in items" v-slot="{ value, handleChange }" :key="item.id" name="items">
<FormItem :key="item.id" class="flex flex-row items-start space-x-3 space-y-0">
<FormField v-for="item in items" v-slot="{ value, handleChange }" :key="item.id" type="checkbox" :value="item.id" :unchecked-value="false" name="items">
<FormItem class="flex flex-row items-start space-x-3 space-y-0">
<FormControl>
<Checkbox
:checked="value.includes(item.id)"
@update:checked="(checked) => {
if (Array.isArray(value)) {
handleChange(checked ? [...value, item.id] : value.filter(id => id !== item.id))
}
}"
@update:checked="handleChange"
/>
</FormControl>
<FormLabel class="font-normal">

View File

@ -37,7 +37,7 @@ const onSubmit = handleSubmit((values) => {
<template>
<form class="space-y-6" @submit="onSubmit">
<FormField v-slot="{ value, handleChange }" name="mobile">
<FormField v-slot="{ value, handleChange }" type="checkbox" name="mobile">
<FormItem class="flex flex-row items-start gap-x-3 space-y-0 rounded-md border p-4 shadow">
<FormControl>
<Checkbox :checked="value" @update:checked="handleChange" />

View File

@ -35,7 +35,7 @@ const onSubmit = handleSubmit((values) => {
<template>
<form class="w-2/3 space-y-6" @submit="onSubmit">
<FormField v-slot="{ componentField }" name="type">
<FormField v-slot="{ componentField }" type="radio" name="type">
<FormItem class="space-y-3">
<FormLabel>Notify me about...</FormLabel>