UNPKG

@uozi-admin/curd

Version:
45 lines (44 loc) 1.37 kB
import { TableColumnType } from 'ant-design-vue'; import { VNode, VNodeChild } from 'vue'; import { JSX } from 'vue/jsx-runtime'; import { StdFormConfig } from './form'; import { CustomRenderArgs } from './props'; export interface StdTableHeaderScope { title: string; column: any; } export interface StdTableBodyScope { text: any; value: any; record: Record<string, any>; index: number; column: any; } export interface StdTableColumnSlotScope { record: Record<string, any>; column: any; text: any; value: any; index: number; } type CustomHeaderRenderFn = (data: StdTableHeaderScope) => VNode | JSX.Element; type CustomRenderFn<T> = ((props: CustomRenderArgs<T>, source?: 'table' | 'edit' | 'add' | 'detail') => VNodeChild); export interface StdTableColumn<T = any> extends Omit<TableColumnType, 'customRender'> { title: string | (() => string); dataIndex: string | string[]; customHeaderRender?: CustomHeaderRenderFn; pure?: boolean; search?: boolean | Partial<StdFormConfig>; edit?: StdFormConfig; batchEdit?: boolean; customRender?: CustomRenderFn<T>; hiddenInTable?: boolean; hiddenInEdit?: boolean; hiddenInAdd?: boolean; hiddenInDetail?: boolean; hiddenInExport?: boolean; } export type ExportColumn = Required<StdTableColumn> & { checked: boolean; }; export {};