field.handleChange((e.target as HTMLInputElement).value)
@@ -134,7 +134,7 @@ describe('useField', () => {
const error = 'Please enter a different value'
const Comp = defineComponent(() => {
- const form = useForm({ defaultValues: {} as Person })
+ const form = useForm(() => ({ defaultValues: {} as Person }))
return () => (
{
},
}}
>
- {({ field }: { field: AnyFieldApi }) => (
+ {({ field, meta }: { field: AnyFieldApi; value: any; meta: any }) => (
{
field.handleChange((e.target as HTMLInputElement).value)
}
/>
-
{field.getMeta().errors}
+
{meta().errors}
)}
@@ -183,7 +183,7 @@ describe('useField', () => {
const error = 'Please enter a different value'
const Comp = defineComponent(() => {
- const form = useForm({ defaultValues: {} as Person })
+ const form = useForm(() => ({ defaultValues: {} as Person }))
return () => (
{
},
}}
>
- {({ field }: { field: AnyFieldApi }) => (
+ {({ field, meta }: { field: AnyFieldApi; value: any; meta: any }) => (
{
field.handleChange((e.target as HTMLInputElement).value)
}
/>
-
{field.getMeta().errors}
+
{meta().errors}
)}
@@ -231,12 +231,12 @@ describe('useField', () => {
type CompVal = { people: Array
}
const Comp = defineComponent(() => {
- const form = useForm({
+ const form = useForm(() => ({
defaultValues: {
people: [],
} as CompVal,
onSubmit: ({ value }) => fn(value),
- })
+ }))
return () => (
@@ -248,17 +248,28 @@ describe('useField', () => {
}}
>
- {({ field }: { field: AnyFieldApi }) => (
+ {({
+ field,
+ value: arrValue,
+ }: {
+ field: AnyFieldApi
+ value: any
+ }) => (
- {field.state.value.map((_: never, i: number) => {
+ {arrValue().map((_: never, i: number) => {
return (
- {({ field: subField }: { field: AnyFieldApi }) => (
+ {({
+ field: subField,
+ }: {
+ field: AnyFieldApi
+ value: any
+ }) => (
Name for person {i}
subField.handleChange(
(e.target as HTMLInputElement).value,
@@ -312,18 +323,18 @@ describe('useField', () => {
expect(fn).toHaveBeenCalledWith({ people: ['John'] })
})
- it('should handle arrays with subvalues', async () => {
+ it('should handle arrays with subvalues 2', async () => {
const fn = vi.fn()
type CompVal = { people: Array<{ age: number; name: string }> }
const Comp = defineComponent(() => {
- const form = useForm({
+ const form = useForm(() => ({
defaultValues: {
people: [],
} as CompVal,
onSubmit: ({ value }) => fn(value),
- })
+ }))
return () => (
@@ -335,17 +346,29 @@ describe('useField', () => {
}}
>
- {({ field }: { field: AnyFieldApi }) => (
+ {({
+ field,
+ value: arrValue,
+ }: {
+ field: AnyFieldApi
+ value: any
+ }) => (
- {field.state.value.map((_: never, i: number) => {
+ {arrValue().map((_: never, i: number) => {
return (
- {({ field: subField }: { field: AnyFieldApi }) => (
+ {({
+ field: subField,
+ value,
+ }: {
+ field: AnyFieldApi
+ value: any
+ }) => (
Name for person {i}
subField.handleChange(
(e.target as HTMLInputElement).value,
diff --git a/packages/vue-form/tests/useForm.test.tsx b/packages/vue-form/tests/useForm.test.tsx
index 7d03f5896..4299057a3 100644
--- a/packages/vue-form/tests/useForm.test.tsx
+++ b/packages/vue-form/tests/useForm.test.tsx
@@ -17,11 +17,11 @@ type Person = {
describe('useForm', () => {
it('preserved field state', async () => {
const Comp = defineComponent(() => {
- const form = useForm({ defaultValues: {} as Person })
+ const form = useForm(() => ({ defaultValues: {} as Person }))
return () => (
- {({ field }: { field: AnyFieldApi }) => (
+ {({ field }: { field: AnyFieldApi; value: any }) => (
{
it('should allow default values to be set', async () => {
const Comp = defineComponent(() => {
- const form = useForm({
+ const form = useForm(() => ({
defaultValues: {
firstName: 'FirstName',
lastName: 'LastName',
} as Person,
- })
+ }))
return () => (
- {({ field }: { field: AnyFieldApi }) => {field.state.value}
}
+ {({ value }: { field: AnyFieldApi; value: any }) => {value()}
}
)
})
@@ -67,19 +67,19 @@ describe('useForm', () => {
const Comp = defineComponent(() => {
const submittedData = ref<{ firstName: string }>()
- const form = useForm({
+ const form = useForm(() => ({
defaultValues: {
firstName: 'FirstName',
},
onSubmit: ({ value }) => {
submittedData.value = value
},
- })
+ }))
return () => (
- {({ field }: { field: AnyFieldApi }) => {
+ {({ field }: { field: AnyFieldApi; value: any }) => {
return (
{
const formMounted = ref(false)
const mountForm = ref(false)
- const form = useForm({
+ const form = useForm(() => ({
defaultValues: {
firstName: 'FirstName',
},
@@ -125,7 +125,7 @@ describe('useForm', () => {
return undefined
},
},
- })
+ }))
return () =>
mountForm.value ? (
@@ -146,19 +146,19 @@ describe('useForm', () => {
const error = 'Please enter a different value'
const Comp = defineComponent(() => {
- const form = useForm({
+ const form = useForm(() => ({
defaultValues: {} as Person,
validators: {
onChange() {
return error
},
},
- })
+ }))
return () => (