import { FormProps } from 'antd/lib/form'; import { IFormItem } from '../formitem/formItem.js'; interface IFormPreferences { isRequired?: boolean | number; isChangeable?: boolean | number; isDisplay?: boolean | number; } interface IFormItemProps extends IFormItem { key?: string; } interface IProFormProps extends FormProps { /** * 是否需要下边框 */ bottomBorder?: boolean; /** * 选择样式模式 */ type?: "default" | "list"; /** * 是否开启容器flex布局 */ isFlex?: boolean; /** * 是否toggle */ isToggle?: boolean; toggleNum?: number; defaultToggle?: boolean; /** * 主容器类名 */ wrapClassName?: string; /** * 左容器类名 */ leftClassName?: string; /** * 子项类名 */ itemClassName?: string; /** * 是否显示右侧容器 */ rightWrapVisible?: boolean; /** * 右容器类名 */ rightClassName?: string; /** * 点击重置 */ onResetHandle?: any; isResetAndClear?: boolean; /** * 点击查询 */ onSearchHandle?: any; /** * 动态列配置 */ dynamicKey?: string; /** * 动态列配置版本。版本号高的可以覆盖用户本地配置。 * 就按数字往上递增的规则就行 1 2 3 4 5这种 */ dynamicVersion?: number; /** 表单布局 默认是横向 设置为true后 为纵向布局 */ directionColumn?: boolean; /** * 表单项配置 一定要是一个state 或者 memo,保证不可变 * 这个配置项 一定是直接从服务器初始化来的 后续不要做变动 * 如果需要单独控制某个属性的显示隐藏,一定是直接设置FormItem的isDisplay等信息 * 因为这个对象发生改变的时候 表单会整个重新渲染,导致性能低下 */ formPreferences?: { [prop: string]: IFormPreferences; }; /** * 使用配置化表单 */ items?: IFormItemProps[]; children?: any; /** * 表单内部需要的外部参数 */ outsideState?: any; /** * 是否开启常用搜索 */ isCommonSearch?: boolean; /** * 是否开启新的表单布局模式 */ isNewFormLayout?: boolean; } export { IFormItemProps, IFormPreferences, IProFormProps };