/** * @author linhd * @date 2021/8/6 11:06 * @description 表格内容参数 */ import React, { ReactNode } from 'react'; import { TableHeadBodyPublicProps, Anyjson, ExpandableStatus } from './interface'; import { EmptyProps } from '../Empty'; /** 表格头部参数 */ export interface TableBodyProps extends TableHeadBodyPublicProps { /** 请求地址 */ url?: string; /** 空状态属性 */ emptyProps?: EmptyProps; /** 当前表格页数据 */ rowData?: any[]; /** 行class mapping */ rowClassMapping?: { [name: string]: string; }; /** 渲染表格一行数据 (跟表格头部head里面的render参数互斥) */ tableCell?: (row: any, params: any) => ReactNode; /** 禁用key的map */ disabledJson?: Anyjson; /** 选择框禁用时的状态 true 选中, false不选中, null 不显示 */ disabledArrStatus?: { [name: string]: true | false | null; }; /** 数据总数对象--用来分页记录数据的 */ totalDataJson?: Anyjson; /** 多选 选中的数据 */ checkJson?: Anyjson; /** 单选 选中的数据 */ radioValue?: any; /** 复选框 - 选择 */ selectCheck?: (event: React.ChangeEvent, bol: boolean, key: any) => void; /** 单选 - 选择 */ selectRadio?: (event: React.ChangeEvent, val: any) => void; /** 用来格式化内容 */ formatter?: (row: any, item: any, val: any, index: number, rowIndex: number) => ReactNode; /** 加载 */ loadState?: boolean; /** 加载更多 */ loadMore?: boolean; /** 加载更多自定义 */ loadMoreRender?: ReactNode; /** 点击加载更多 */ onClickMore?: () => void; /** 总条数 */ total?: number; /** 当前页 */ page?: number | null; /** 当前选中每页行数 */ currentRowsPerPage?: number | null; /** 改变页数 */ changePage?: (num?: number) => void; /** 加载更多,请求是否在表格里 */ loadMoreUrl?: boolean; /** 默认展开项 */ expandValue?: string[]; /** 展开多个 */ expandMultiple?: boolean; /** 禁用展开项 */ disabledExpand?: string[]; /** 展开事件 */ onExpand?: (row: any, status: ExpandableStatus) => void; /** 是否展开所有行 */ defaultExpandAllRows?: boolean; /** 刷新表格 */ onRefresh?: () => void; /** 点击行 */ onClickRow?: (row: any, e: any) => void; /** 用来计算表格行数 */ lineHeight?: number; /** 拖动行 */ dragRow?: boolean; /** 拖动行事件 */ onDragRow?: (evt: any) => void; /** 虚拟滚动 */ virtual?: boolean; /** 虚拟滚动下标 */ virtualIndex: [number, number]; }