import { ButtonProps, TableColumnInstance } from '@arco-design/web-vue'; import { _TableConfig } from './types'; export type BaseTableColunmExtra = { enable?: boolean; width?: string | number; align?: "left" | "right" | "center"; leftExtra?: string | number; rightExtra?: string | number; minWidth?: string | number; fixed?: true | "left" | "right"; color?: string; /** 是否在列设置中锁定(不可隐藏/拖拽固定,但仍展示),常用于操作列 */ disableSetting?: boolean; } & TableColumnInstance["$props"]; export type BaseTableColunmBtn = { /** 标签(按钮文字) */ label: string | ((row: any, index: number) => string); /** 点击事件 */ handler?: (row: any, index: number) => void; /** 是否展示,仅false时隐藏 */ if?: boolean | ((row: any, index: number) => boolean); /** 是否禁用,仅true时禁用 */ disabled?: boolean | ((row: any, index: number) => boolean); /** 按钮颜色 */ color?: string; /** 折叠 */ collapse?: boolean; } & ButtonProps; declare const tableHelper: { /** * 创建table参数 * @param params * @returns */ create(params: _TableConfig): _TableConfig; /** * 时间列 * @param label * @param prop * @param extra * @returns */ date(label: string, prop: string, extra?: BaseTableColunmExtra & { format?: "YYYY-MM-DD" | "YYYY-MM-DD HH-mm-ss" | string; split?: string; }): any; /** * 默认列 * @param label * @param prop * @param extra * @returns */ default(label: string, prop: string, extra?: BaseTableColunmExtra): any; /** * 自定义列 * @param label * @param prop * @param extra * @returns */ custom(label: string, callback: (row: any, index: number) => any, extra?: BaseTableColunmExtra): any; /** * 字典列 * @param label * @param prop * @param dictionary value:label * @param extra * @returns */ dictionary(label: string, prop: string, dictionary: ({ label?: string | undefined; value?: string | number | undefined; } & Record)[], extra?: BaseTableColunmExtra & { labelKey?: string; valueKey?: string; }): any; /** * 插槽列 * @param prop * @param extra * @returns */ slot(prop: string, extra?: BaseTableColunmExtra): any; /** * 操作列 * @param label * @param btns * @param extra * @returns */ btns(label: string, btns: BaseTableColunmBtn[], extra?: BaseTableColunmExtra): any; /** * 状态列 * @param label * @param prop * @param callback * @param extra * @returns */ status(label: string, prop: string, handler: (item: any) => { status: "normal" | "processing" | "success" | "warning" | "danger"; text: string; }, extra?: BaseTableColunmExtra): any; /** * 链接列 * @param label * @param prop * @param handler * @param extra * @returns */ link(label: string, prop: string, handler: (item: any) => void, extra?: BaseTableColunmExtra): any; /** * html列 * @param label * @param prop * @param handler * @param extra * @returns */ html(label: string, prop: string, extra?: BaseTableColunmExtra): any; }; export { tableHelper };