import { ColumnCount } from 'kts-components-antd-x4/lib/list'; import { FormItemProps, TableColumnType } from 'kts-xui'; import React from 'react'; export type IFormType = 'string' | 'number' | 'boolean' | 'date' | 'dateTimer' | 'object' | 'array'; export type IGrid = { xs?: ColumnCount; sm?: ColumnCount; md?: ColumnCount; lg?: ColumnCount; xl?: ColumnCount; xxl?: ColumnCount; } | number; export interface IForm extends FormItemProps { /** 自定义表单渲染 */ render?: (value: any, record: any[], index: number) => React.ReactNode; } export default interface IColumnType extends TableColumnType { /** 字段key */ key: React.Key /** 字段索引 */ dataIndex?: string; /** 帮助说明 */ help?: React.ReactNode; /** 类型 */ type: IFormType; /** * 列表栅格配置 * @default { xs: 24, sm: 24, md: 12, lg: 12, xl: 6, xxl: 6 } * */ grid?: IGrid; /** 枚举 */ enum?: ({ title: string; value: any } | string | number)[]; /** 是否启动筛选 */ isFilter?: boolean; /** * 只读 * @default false * */ readOnly?: boolean; /** 表单相关配置 */ form?: IForm; /** 对象类型的孩子配置 */ child?: IColumnType[], }