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

2 years ago
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