// 引入定义 import { Obj } from '../../global'; import { CrudOption } from '../../crud/option'; import { FormOption } from '../option'; import { AvueFormBaseColumn, FormColumnEventParams, AvueFormColumn } from '../column'; /** 明细表单/表格配置 */ export interface DynamicFormColumnChildren extends CrudOption { /** 类型,表格: 'crud' 表单: 'form', 默认: 'crud' */ type?: 'form' | 'crud'; } /** 明细组件自定义配置 */ export interface FormColumnDynamic { // ========== props ========== /** 列类型 */ type?: 'dynamic'; /** 默认值 */ value?: Obj[]; /** * 最小值, 不得小于0 * @description 当最小值大于最大值时,最小值取最大值 */ min?: number; /** 最大值, 不得小于0 */ max?: number; /** 输入时是否触发表单的校验, 默认: false */ validateEvent?: boolean; /** 明细表单/表格配置 */ children: DynamicFormColumnChildren; } export interface DynamicFormColumn extends AvueFormBaseColumn { /** 其他配置 */ [x: string]: any; } /** 表单项事件参数,适用于click|blur|focus */ export interface DynamicFormColumnEventParams extends FormColumnEventParams { /** 根表单数据 */ rootFormData: { /** 表单项列配置索引 */ columnIndex: Record; /** 根表单的数据值 */ data: T; /** */ formOption: FormOption; }; } /** change事件参数 */ export type DynamicFormColumnChangeEventParams = Omit, 'event'>;