// TODO 类型规范 import { CellValue } from '@/lib/types/cell'; import { GridProp } from '@/lib/types/index'; import { VNode } from 'vue'; export type Watcher = [ string | string[], (rowData: Record, other: O) => T, ]; export type Dynamicer = (rowData: any[]) => T; export interface Feature { active: boolean; } export interface TreeData extends Feature { parentKey: string; expandKey: string; childrenKey: string; defaultExpand: boolean; } export interface RowSelection extends Feature { render: (data: { value: boolean; disabled: boolean; handler: { input: (isCheck: boolean) => void }; }) => VNode; display: | [string | string[], (data: Record) => boolean] | ((rowData: Record) => boolean); disabled: | [string | string[], (data: Record) => boolean] | ((rowData: Record) => boolean); } export type TotalBar = Feature & GridProp['totalBar']; export interface RowIndex extends Feature {}