UNPKG

@altiore/form

Version:

Form helper for building powerful forms

51 lines (50 loc) 1.52 kB
/// <reference types="react" /> import { FieldArrayProps, FieldOuterProps } from '../@common/types'; /** * Создает массив полей * * @component * * @param component * * @typedef createFieldArray * @return {Array} возвращает массив полей * * * @example * * import React from 'react'; * import {createFieldArray} from './'; * * const FieldArray = createFieldArray(({list}) => { * return ( * <div> * {list.map(({key, remove, append, prepend}) => { * return ( * <div key={key}> * <div style={{display: 'flex'}}> * <Field label={''} name="ingredient" validate={[minLength(3)]} /> * <ArrayTags name="tags" /> * <button onClick={remove} type="button"> * - * </button> * <button onClick={append} type="button"> * after * </button> * <button onClick={prepend} type="button"> * before * </button> * </div> * </div> * ); * })} * <button onClick={list.add} type="button"> * Добавить ингредиент * </button> * </div> * ); * }); */ export declare const createFieldArray: <CustomFieldProps extends Record<string, any> = { name: string; }, ArrayItemProps extends Record<string, any> = Record<string, any>>(component: (props: FieldArrayProps<CustomFieldProps, ArrayItemProps>) => JSX.Element) => <FormState extends Record<string, any> = Record<string, any>>(props: CustomFieldProps & FieldOuterProps<FormState>) => JSX.Element;