import type { IObject, PromiseType } from '@newgrand/udp-core'; import { ReactNode } from 'react'; import type { GridPropsType } from '../grid'; interface LabeledValue { value: string; label: React.ReactNode; helpId?: string; xtype?: string; } export interface ImportGridProps extends GridPropsType { /** * @description excel最大解析列数 * @default 1000 */ maxColumnCount?: number; /** * @description 表头属性 */ header: { /** * @description excel列的待选数据源 */ source?: LabeledValue[] | ((sheetIndex: number) => PromiseType); /** * @description 数据源选择后回调事件 */ onChange?: ({}: {}) => {}; /** * @description 表头所在行 * @default -1 */ index?: number; /** * @description 列宽 * @default 100 */ width?: number; /** * @description 默认绑定列字段 * @default 100 */ bindFields?: IObject; }; /** * @description 顶部功能区域扩展 */ topArea?: ReactNode; /** * @description 转换excel数据源 */ convertData?: (dataSource: any) => Array; /** * @description excel sheet页数据切换后回调事件 */ onSheetDataChange?: (dataSource: any, currentSheet: any) => void; /** * @description 合并单元格数据的拆分 * @default true */ mergeSplit?: boolean | 'row' | 'column'; /** * @description 导入的表格的唯一id,用于记录导入字段映射 */ tableKey?: string; } export {};