UNPKG

@happy-table/vue3

Version:

A high-performance Vue 3 table component for B2B systems with TypeScript support

72 lines (71 loc) 2.43 kB
/** * 序号工具函数 * 用于表格行序号的计算和管理 */ export interface SequenceConfig { /** 起始序号 */ startIndex?: number; /** 分页配置 */ pagination?: { enabled: boolean; continuous: boolean; currentPage?: number; pageSize?: number; }; /** 自定义格式化函数 */ format?: (sequence: number, rowData?: any, paginationState?: any) => string | number; } export interface PaginationState { currentPage: number; pageSize: number; total: number; } /** * 计算序号的核心纯函数 * * @param absoluteDataIndex - 数据在原始数组中的绝对索引(0开始) * @param config - 序号配置 * @param paginationState - 分页状态(可选) * @param rowData - 行数据(可选,用于格式化函数) * @returns 计算后的序号(可能是数字或格式化后的字符串) */ export declare function calculateSequenceNumber(absoluteDataIndex: number, config?: SequenceConfig, paginationState?: PaginationState, rowData?: any): string | number; /** * 批量计算多个序号 * 用于虚拟滚动等需要批量计算的场景 * * @param startAbsoluteIndex - 起始绝对索引 * @param count - 需要计算的数量 * @param config - 序号配置 * @param paginationState - 分页状态 * @param rowDataArray - 行数据数组(可选) * @returns 序号数组 */ export declare function calculateSequenceNumbers(startAbsoluteIndex: number, count: number, config?: SequenceConfig, paginationState?: PaginationState, rowDataArray?: any[]): (string | number)[]; /** * 根据可见索引计算绝对索引 * 这个函数封装了虚拟滚动的索引转换逻辑 * * @param visibleIndex - 在可见区域中的索引 * @param virtualState - 虚拟滚动状态 * @returns 绝对数据索引 */ export declare function calculateAbsoluteIndex(visibleIndex: number, virtualState?: { visibleStart: number; visibleEnd: number; }): number; /** * 创建简化的序号配置 * 用于快速创建常用的序号配置 */ export declare function createSequenceConfig(options: { startIndex?: number; enablePagination?: boolean; continuousPagination?: boolean; formatter?: (seq: number) => string | number; }): SequenceConfig; /** * 验证序号配置 * 用于开发时的配置验证 */ export declare function validateSequenceConfig(config: SequenceConfig): boolean;