import { TableProps } from 'antd'; import type { ColumnType } from 'antd/es/table'; declare const RenderTypes: ["datetime", "date", "ellipsis", "index"]; /** * 列 render 快捷类型 * * 在 columns 的 render 中可直接传字符串: * - `'datetime'` — 渲染为日期时间格式 * - `'date'` — 渲染为日期格式 * - `'ellipsis'` — 超出省略显示 */ export type RenderType = (typeof RenderTypes)[number]; /** * STable 列定义 * * 继承 antd ColumnType(排除 render),扩展字典映射、快捷渲染和列分组能力。 * 使用 interface 消除联合类型推断问题,确保 fixed/render 等属性字面量正确推断。 */ export interface SColumn> extends Omit, 'render'> { /** 字典映射 key,配合 SConfigProvider 的 globalDict 自动转换 */ dictKey?: string; /** * 列渲染器 * * 除标准 render 函数外,支持字符串快捷类型: * - `'datetime'` — 渲染为日期时间 * - `'date'` — 渲染为日期 * - `'ellipsis'` — 超出省略 */ render?: ColumnType['render'] | RenderType; /** 子列定义(列分组) */ children?: SColumn[]; } /** STable 列定义类型 */ export type SColumnsType = SColumn[]; /** * STable 增强表格 Props * * 继承 antd Table 全部属性,扩展了字典映射、序号列、快捷 render 等能力。 * * @example * ```tsx * * ``` */ export interface STableProps> extends Omit, 'columns'> { /** 列定义,支持 dictKey 和字符串 render */ columns?: SColumnsType; /** 是否显示序号列 */ isSeq?: boolean; /** 当前页码(用于序号计算) */ current?: number; /** 每页条数(用于序号计算) */ pageSize?: number; } export {};