import { FormInstance } from 'antd/lib/form'; import { ReactNode } from 'react'; export declare type ProSchemaValueEnumObj = { [key: string]: { text: ReactNode; status: string; } | ReactNode; }; export declare type ProSchemaValueEnumMap = Map; export declare type ProSchemaComponentTypes = 'form' | 'list' | 'descriptions' | 'table' | 'cardList' | undefined; export declare type ProFieldRequestData = (params: U, props: T) => Promise<{ label: React.ReactNode; value: React.ReactText; [key: string]: any; }[]>; /** * 操作类型 */ export interface ProCoreActionType { reload: (resetPageIndex?: boolean) => void; reloadAndRest?: () => void; fetchMore?: () => void; reset?: () => void; clearSelected?: () => void; } /** * 各个组件公共支持的 render */ export declare type ProSchema = { key?: React.ReactText; dataIndex?: string | number | (string | number)[]; /** * 选择如何渲染相应的模式 */ valueType?: ((entity: T) => U) | U; title?: ((schema: ProSchema, type: ProSchemaComponentTypes, dom: React.ReactNode) => React.ReactNode) | React.ReactNode; /** *展示一个 icon,hover 是展示一些提示信息 */ tip?: string; render?: (dom: React.ReactNode, entity: T, index: number, action: ProCoreActionType, schema: ProSchema) => React.ReactNode; renderFormItem?: (item: ProSchema, config: { value?: any; onChange?: (value: any) => void; onSelect?: (value: any) => void; type: ProSchemaComponentTypes; defaultRender: (newItem: ProSchema) => JSX.Element | null; }, form: FormInstance) => React.ReactNode; /** * 自定义 render,但是需要返回 string */ renderText?: (text: any, record: T, index: number, action: ProCoreActionType) => any; formItemProps?: any; /** * 映射值的类型 */ valueEnum?: ProSchemaValueEnumObj | ProSchemaValueEnumMap; /** * 从服务器请求枚举 */ request?: ProFieldRequestData; /** * 从服务器请求的参数,改变了会触发 reload */ params?: { [key: string]: any; }; /** * 隐藏在 descriptions */ hideInDescriptions?: boolean; } & Extra;