import React from 'react'; import { List } from './rcFieldForm'; import { FormProps as RcFormProps } from './rcFieldForm/Form'; import { Options } from 'scroll-into-view-if-needed'; import { ColProps } from '../Grid'; import { FormLabelAlign } from './interface'; import useForm, { FormInstance } from './hooks/useForm'; export declare type RequiredMark = boolean | 'optional'; export declare type FormLayout = 'horizontal' | 'inline' | 'vertical'; /** * 没有添加 Size 需要有一个全局的 SizeContext, 所有组件都要配合 * config context 中的全局配置未添加 getPrefixCls, direction, form 等情况 * RequiredMark - optional, rtl 暂不实现 * colon 特意删除 * * antd 中 form 的表单标签可换行功能 需要 Col 组件的支持 * * 缺少 Space 组件 * * 因为 Col 组件的不一样, 导致 form 的 layout 即使默认是horizontal, 如果没传span, 也会和 vertical 一样 * * FormItem hasFeedback 属性没有 FormItemStatusContext 支持, 这里使用老的一套 有.has-feedback属性 input 则显示 * * 置空存在在现在的Col 组件上存在动画问题, 查看高级搜索 demo, 去除 fields 样式 * * DatePicker 中不能选择月, 待加强 * * DateRangePicker 第一次点击时有 warning 需要处理 `DateTable: prop type `rangeState.endDate` is invalid` * * 数字输入框 和 hasFeed 的兼容有些问题 */ export interface FormProps extends Omit, 'form'> { prefixCls?: string; name?: string; layout?: FormLayout; labelAlign?: FormLabelAlign; labelWrap?: boolean; labelCol?: ColProps; wrapperCol?: ColProps; form?: FormInstance; scrollToFirstError?: Options | boolean; hideRequiredMark?: boolean; } declare const Form: (props: FormProps & { children?: React.ReactNode; } & { ref?: React.Ref>; }) => React.ReactElement; export { useForm, List, FormInstance }; export default Form;