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.
40 lines
1.6 KiB
40 lines
1.6 KiB
import { FieldArrayPath, FieldValues, UseFieldArrayProps, UseFieldArrayReturn } from './types'; |
|
/** |
|
* A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. |
|
* |
|
* @remarks |
|
* [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) |
|
* |
|
* @param props - useFieldArray props |
|
* |
|
* @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn} |
|
* |
|
* @example |
|
* ```tsx |
|
* function App() { |
|
* const { register, control, handleSubmit, reset, trigger, setError } = useForm({ |
|
* defaultValues: { |
|
* test: [] |
|
* } |
|
* }); |
|
* const { fields, append } = useFieldArray({ |
|
* control, |
|
* name: "test" |
|
* }); |
|
* |
|
* return ( |
|
* <form onSubmit={handleSubmit(data => console.log(data))}> |
|
* {fields.map((item, index) => ( |
|
* <input key={item.id} {...register(`test.${index}.firstName`)} /> |
|
* ))} |
|
* <button type="button" onClick={() => append({ firstName: "bill" })}> |
|
* append |
|
* </button> |
|
* <input type="submit" /> |
|
* </form> |
|
* ); |
|
* } |
|
* ``` |
|
*/ |
|
export declare function useFieldArray<TFieldValues extends FieldValues = FieldValues, TFieldArrayName extends FieldArrayPath<TFieldValues> = FieldArrayPath<TFieldValues>, TKeyName extends string = 'id'>(props: UseFieldArrayProps<TFieldValues, TFieldArrayName, TKeyName>): UseFieldArrayReturn<TFieldValues, TFieldArrayName, TKeyName>; |
|
//# sourceMappingURL=useFieldArray.d.ts.map
|