acud
Version:
acg react 组件库
42 lines (41 loc) • 1.51 kB
TypeScript
/**
* @file Form Element
* @author chenqiang(chenqiang03)
*/
import * as React from 'react';
import { List, useWatch } from 'rc-field-form';
import { FormProps as RcFormProps } from 'rc-field-form/lib/Form';
import { Options } from 'scroll-into-view-if-needed';
import { ColProps } from '../grid/col';
import { FormLabelAlign } from './interface';
import useForm, { FormInstance } from './hooks/useForm';
import { SizeType } from '../config-provider/SizeContext';
export type RequiredMark = boolean | 'optional';
export type FormLayout = 'horizontal' | 'inline' | 'vertical';
export type FormSizeType = SizeType & 'tiny';
export interface FormProps<Values = any> extends Omit<RcFormProps<Values>, 'form'> {
prefixCls?: string;
colon?: boolean;
cols?: number;
name?: string;
layout?: FormLayout;
labelAlign?: FormLabelAlign;
labelCol?: ColProps;
labelWidth?: string | number;
inputMaxWidth?: string | number;
wrapperCol?: ColProps;
form?: FormInstance<Values>;
size?: FormSizeType;
scrollToFirstError?: Options | boolean;
requiredMark?: RequiredMark;
keepDisplayExtra?: boolean;
/** @deprecated Will warning in future branch. Please use `requiredMark` instead. */
hideRequiredMark?: boolean;
}
declare const Form: <Values = any>(props: FormProps<Values> & {
children?: React.ReactNode;
} & {
ref?: React.Ref<FormInstance<Values>>;
}) => React.ReactElement;
export { useForm, useWatch, List, FormInstance };
export default Form;