import type { TableColumnCtx } from "element-plus"; import type { VNode } from "vue"; import type { DefaultRow } from "./table.state"; import type { FaTableColumnCtx, FaTableColumnDateFormat, FaTableColumnType, FaTableDefaultSlotsResult, FaTableEnumColumnType } from "./table.type"; export { tableColumnProps } from "../../../internal/props"; /** FaTableColumn 插槽返回的行列上下文 */ export interface FaTableColumnSlotsResult { /** slots为表格内容的时候才会返回 */ row?: DefaultRow; /** slot为表头内容的时候返回 'TableColumnCtx' 否则返回 'FaTableColumnCtx' */ column?: TableColumnCtx | FaTableColumnCtx; $index?: number; } type FaTableColumnDefaultSlots = Record; /** FaTableColumn 的固定插槽和动态命名插槽。 */ export type FaTableColumnSlots = Record & { /** 默认内容插槽 */ default: FaTableDefaultSlotsResult & { row: DefaultRow; column: FaTableColumnCtx; $index: number; }; /** 自定义表头的内容 */ header: FaTableDefaultSlotsResult & { column: FaTableColumnCtx; $index: number; }; /** 自定义 filter 图标 */ filterIcon: FaTableDefaultSlotsResult & { filterOpened: boolean; }; /** 展开列的自定义内容 */ expand: FaTableDefaultSlotsResult & { expanded: boolean; }; } & FaTableColumnDefaultSlots; declare const _default: import("vue").DefineComponent; default: string; }; /** * column width */ width: { type: (NumberConstructor | StringConstructor)[]; default: string; }; /** alignment, the value should be 'left' \/ 'center' \/ 'right' */ align: { type: StringConstructor; default: string; }; /** alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \/ 'center' \/ 'right' */ headerAlign: { type: StringConstructor; default: string; }; /** 是否显示在表格当中 */ show: BooleanConstructor; /** 小页面的宽度,如果为空,则继承默认宽度 */ smallWidth: { type: (NumberConstructor | StringConstructor)[]; }; /** 自适应宽度 */ autoWidth: BooleanConstructor; /** 插槽名称 */ slot: StringConstructor; /** 表格头部插槽名称 */ headerSlot: StringConstructor; /** 自定义表头内容渲染(tsx语法) */ headerRender: { type: import("vue").PropType<({ column, $index }: { column: TableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => VNode[]>; }; /** 自定义单元格内容渲染(tsx语法) */ render: { type: import("vue").PropType<({ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => VNode[]>; }; /** 多级表头 */ _children: { type: import("vue").PropType; }; /** 隐藏图片 */ hideImage: BooleanConstructor; /** 复制 */ copy: BooleanConstructor; /** 是否为 Link Button */ link: BooleanConstructor; /** 合并行字段 */ spanProp: StringConstructor; /** Link 按钮的点击事件,优先级最高 */ click: { type: import("vue").PropType<({ row, $index }: { row: DefaultRow; $index?: number; } & FaTableDefaultSlotsResult) => void>; }; /** 点击Emits事件回调 */ clickEmit: StringConstructor; /** 图片列是否显示为原图,默认 false 显示缩略图 */ originalImage: BooleanConstructor; /** 显示时间格式化字符串 */ dateFix: BooleanConstructor; /** 显示在页面中的日期格式 */ dateFormat: { type: import("vue").PropType; }; /** 是否是标签展示 */ tag: BooleanConstructor; /** 枚举类型(渲染值的字典) */ enum: { type: import("vue").PropType; }; /** 数据删除字段,如果为 true 会显示遮罩层 */ dataDeleteField: StringConstructor; /** 时间信息字段 */ timeInfoField: { type: import("vue").PropType<{ userName?: string; time?: string; }>; default: () => { userName: string; time: string; }; }; label: StringConstructor; className: StringConstructor; labelClassName: StringConstructor; property: StringConstructor; prop: StringConstructor; minWidth: { type: (NumberConstructor | StringConstructor)[]; default: string; }; renderHeader: import("vue").PropType["renderHeader"]>; sortable: { type: (StringConstructor | BooleanConstructor)[]; default: boolean; }; sortMethod: import("vue").PropType["sortMethod"]>; sortBy: import("vue").PropType["sortBy"]>; resizable: { type: BooleanConstructor; default: boolean; }; columnKey: StringConstructor; showOverflowTooltip: { type: import("vue").PropType["showOverflowTooltip"]>; default: undefined; }; tooltipFormatter: import("vue").PropType["tooltipFormatter"]>; fixed: (StringConstructor | BooleanConstructor)[]; formatter: import("vue").PropType["formatter"]>; selectable: import("vue").PropType["selectable"]>; reserveSelection: BooleanConstructor; filterMethod: import("vue").PropType["filterMethod"]>; filteredValue: import("vue").PropType["filteredValue"]>; filters: import("vue").PropType["filters"]>; filterPlacement: StringConstructor; filterMultiple: { type: BooleanConstructor; default: boolean; }; filterClassName: StringConstructor; index: import("vue").PropType["index"]>; sortOrders: { type: import("vue").PropType["sortOrders"]>; default: () => (string | null)[]; validator: (val: unknown) => boolean; }; }>, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { /** 图片预览 */ imagePreview: (url: string) => boolean; /** 自定义单元格点击事件 */ customCellClick: (emitName: string, { row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number; }) => boolean; }, string, import("vue").PublicProps, Readonly; default: string; }; /** * column width */ width: { type: (NumberConstructor | StringConstructor)[]; default: string; }; /** alignment, the value should be 'left' \/ 'center' \/ 'right' */ align: { type: StringConstructor; default: string; }; /** alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \/ 'center' \/ 'right' */ headerAlign: { type: StringConstructor; default: string; }; /** 是否显示在表格当中 */ show: BooleanConstructor; /** 小页面的宽度,如果为空,则继承默认宽度 */ smallWidth: { type: (NumberConstructor | StringConstructor)[]; }; /** 自适应宽度 */ autoWidth: BooleanConstructor; /** 插槽名称 */ slot: StringConstructor; /** 表格头部插槽名称 */ headerSlot: StringConstructor; /** 自定义表头内容渲染(tsx语法) */ headerRender: { type: import("vue").PropType<({ column, $index }: { column: TableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => VNode[]>; }; /** 自定义单元格内容渲染(tsx语法) */ render: { type: import("vue").PropType<({ row, column, $index }: { row: DefaultRow; column: FaTableColumnCtx; $index: number; } & FaTableDefaultSlotsResult) => VNode[]>; }; /** 多级表头 */ _children: { type: import("vue").PropType; }; /** 隐藏图片 */ hideImage: BooleanConstructor; /** 复制 */ copy: BooleanConstructor; /** 是否为 Link Button */ link: BooleanConstructor; /** 合并行字段 */ spanProp: StringConstructor; /** Link 按钮的点击事件,优先级最高 */ click: { type: import("vue").PropType<({ row, $index }: { row: DefaultRow; $index?: number; } & FaTableDefaultSlotsResult) => void>; }; /** 点击Emits事件回调 */ clickEmit: StringConstructor; /** 图片列是否显示为原图,默认 false 显示缩略图 */ originalImage: BooleanConstructor; /** 显示时间格式化字符串 */ dateFix: BooleanConstructor; /** 显示在页面中的日期格式 */ dateFormat: { type: import("vue").PropType; }; /** 是否是标签展示 */ tag: BooleanConstructor; /** 枚举类型(渲染值的字典) */ enum: { type: import("vue").PropType; }; /** 数据删除字段,如果为 true 会显示遮罩层 */ dataDeleteField: StringConstructor; /** 时间信息字段 */ timeInfoField: { type: import("vue").PropType<{ userName?: string; time?: string; }>; default: () => { userName: string; time: string; }; }; label: StringConstructor; className: StringConstructor; labelClassName: StringConstructor; property: StringConstructor; prop: StringConstructor; minWidth: { type: (NumberConstructor | StringConstructor)[]; default: string; }; renderHeader: import("vue").PropType["renderHeader"]>; sortable: { type: (StringConstructor | BooleanConstructor)[]; default: boolean; }; sortMethod: import("vue").PropType["sortMethod"]>; sortBy: import("vue").PropType["sortBy"]>; resizable: { type: BooleanConstructor; default: boolean; }; columnKey: StringConstructor; showOverflowTooltip: { type: import("vue").PropType["showOverflowTooltip"]>; default: undefined; }; tooltipFormatter: import("vue").PropType["tooltipFormatter"]>; fixed: (StringConstructor | BooleanConstructor)[]; formatter: import("vue").PropType["formatter"]>; selectable: import("vue").PropType["selectable"]>; reserveSelection: BooleanConstructor; filterMethod: import("vue").PropType["filterMethod"]>; filteredValue: import("vue").PropType["filteredValue"]>; filters: import("vue").PropType["filters"]>; filterPlacement: StringConstructor; filterMultiple: { type: BooleanConstructor; default: boolean; }; filterClassName: StringConstructor; index: import("vue").PropType["index"]>; sortOrders: { type: import("vue").PropType["sortOrders"]>; default: () => (string | null)[]; validator: (val: unknown) => boolean; }; }>> & Readonly<{ onCustomCellClick?: ((emitName: string, args_1: { row: DefaultRow; column: FaTableColumnCtx; $index: number; }) => any) | undefined; onImagePreview?: ((url: string) => any) | undefined; }>, { link: boolean; copy: boolean; type: FaTableColumnType; tag: boolean; width: string | number; resizable: boolean; show: boolean; sortable: string | boolean; minWidth: string | number; align: string; headerAlign: string; showOverflowTooltip: boolean | Partial> | undefined; reserveSelection: boolean; filterMultiple: boolean; sortOrders: (import("element-plus/es/components/table/src/table/defaults.mjs").TableSortOrder | null)[]; hideImage: boolean; autoWidth: boolean; originalImage: boolean; dateFix: boolean; timeInfoField: { userName?: string; time?: string; }; }, import("../../../utils").TypedSlotsDeclaration, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default _default;