You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.8 KiB
47 lines
1.8 KiB
/// <reference types="react" /> |
|
import { ControllerProps, FieldValues } from './types'; |
|
/** |
|
* Component based on `useController` hook to work with controlled component. |
|
* |
|
* @remarks |
|
* [API](https://react-hook-form.com/api/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA) |
|
* |
|
* @param props - the path name to the form field value, and validation rules. |
|
* |
|
* @returns provide field handler functions, field and form state. |
|
* |
|
* @example |
|
* ```tsx |
|
* function App() { |
|
* const { control } = useForm<FormValues>({ |
|
* defaultValues: { |
|
* test: "" |
|
* } |
|
* }); |
|
* |
|
* return ( |
|
* <form> |
|
* <Controller |
|
* control={control} |
|
* name="test" |
|
* render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => ( |
|
* <> |
|
* <input |
|
* onChange={onChange} // send value to hook form |
|
* onBlur={onBlur} // notify when input is touched |
|
* value={value} // return updated value |
|
* ref={ref} // set ref for focus management |
|
* /> |
|
* <p>{formState.isSubmitted ? "submitted" : ""}</p> |
|
* <p>{fieldState.isTouched ? "touched" : ""}</p> |
|
* </> |
|
* )} |
|
* /> |
|
* </form> |
|
* ); |
|
* } |
|
* ``` |
|
*/ |
|
declare const Controller: <TFieldValues extends FieldValues = FieldValues, TName extends import("./types").Path<TFieldValues> = import("./types").Path<TFieldValues>>(props: ControllerProps<TFieldValues, TName>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>; |
|
export { Controller }; |
|
//# sourceMappingURL=controller.d.ts.map
|