useForm
Description
Mainly used inside custom components to read the current Form instance, for implementing effect dependencies — for example depending on the errors information of the Form — to build more complex scenario-specific components.
Signature
ts
import type { Form } from '@silver-formily/core'
declare function useForm<T extends object = any>(): Form<T>Usage
tsx
import { createForm } from '@silver-formily/core'
import { Field, FormProvider, observer, useForm } from '@silver-formily/react'
import { Input, Space } from 'antd'
// 依赖 Form 状态的组件需要 observer 包裹才能响应更新
const Custom = observer(() => {
const form = useForm()
return (
<div>
{form.values.input}
</div>
)
})
const form = createForm({ validateFirst: true })
export default function Demo() {
return (
<FormProvider form={form}>
<Space>
<Field name="input" component={[Input]} />
<Field name="custom" component={[Custom]} />
</Space>
</FormProvider>
)
}tsx
import { createForm } from '@silver-formily/core'
import { Field, FormProvider, observer, useForm } from '@silver-formily/react'
import { Input, Space } from 'antd'
// 依赖 Form 状态的组件需要 observer 包裹才能响应更新
const Custom = observer(() => {
const form = useForm()
return (
<div>
{form.values.input}
</div>
)
})
const form = createForm({ validateFirst: true })
export default function Demo() {
return (
<FormProvider form={form}>
<Space>
<Field name="input" component={[Input]} />
<Field name="custom" component={[Custom]} />
</Space>
</FormProvider>
)
}
查看源码
This hook reads context; it does not create a model or subscribe to observable properties. Use the corresponding provider. Although some signatures are non-nullable, missing or cleared context can return null/undefined at runtime.