yuang-framework-ui-pc
Version:
yuang-framework-ui-pc Library
258 lines (256 loc) • 10.5 kB
TypeScript
import { PropType, ExtractPropTypes } from 'vue';
import { StyleValue } from '../ele-app/types';
import { EleLoadingProps, EleToolbarProps } from '../ele-app/plus';
import { DataItem, Columns, TableSize, RowKey } from '../ele-data-table/types';
import { default as TableTools } from './components/table-tools';
import { default as ToolExport } from './components/tool-export';
import { default as ToolPrint } from './components/tool-print';
import { QueryParam, Datasource, RequestOption, ResponseOption, ParseData, DoneParams, TablePagination, TableTool, TableLocale, ExportConfig, PrintConfig } from './types';
/**
* 属性
*/
export declare const proTableProps: {
rowKey: {
type: PropType<RowKey>;
required: boolean;
};
/** 数据请求状态 */
loading: BooleanConstructor;
/** 数据源 */
datasource: {
type: PropType<Datasource>;
required: boolean;
};
/** 默认请求参数 */
queryParam: PropType<QueryParam>;
/** 自定义请求参数名称 */
request: PropType<RequestOption>;
/** 自定义响应参数名称 */
response: PropType<ResponseOption>;
/** 自定义响应数据解析 */
parseData: PropType<ParseData>;
/** 初始是否请求数据 */
loadOnCreated: {
type: BooleanConstructor;
default: boolean;
};
/** 是否在排序和筛选改变后自动刷新 */
loadOnChanged: {
type: BooleanConstructor;
default: boolean;
};
/** 多选选中的数据 */
selections: PropType<DataItem[]>;
/** 单选选中的数据 */
current: PropType<DataItem | null>;
/** 是否开启顶部工具栏 */
toolbar: {
type: PropType<boolean | EleToolbarProps>;
default: () => null;
};
/** 表头工具按钮布局 */
tools: {
type: PropType<TableTool[] | boolean>;
default: () => null;
};
/** 列配置是否可拖拽排序 */
columnSortable: {
type: BooleanConstructor;
default: boolean;
};
/** 列配置是否可固定列 */
columnFixed: {
type: BooleanConstructor;
default: boolean;
};
/** 表格全屏时的层级 */
maximizedIndex: NumberConstructor;
/** 表格全屏状态的高度 */
maximizedHeight: (StringConstructor | NumberConstructor)[];
/** 自定义表格样式 */
tableStyle: PropType<StyleValue>;
/** 自定义底部样式 */
footerStyle: PropType<StyleValue>;
/** 分页组件 */
pagination: {
type: PropType<boolean | TablePagination>;
default: () => null;
};
/** 自定义加载组件属性 */
loadingProps: PropType<EleLoadingProps>;
/** 列配置缓存名称 */
cacheKey: StringConstructor;
/** 是否虚拟滚动 */
virtual: BooleanConstructor;
/** 虚拟滚动表格行高 */
rowHeight: NumberConstructor;
/** 国际化 */
locale: PropType<Partial<TableLocale>>;
/** 导出配置 */
exportConfig: PropType<ExportConfig>;
/** 打印配置 */
printConfig: PropType<PrintConfig>;
load: PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
size: {
readonly type: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
fit: {
type: BooleanConstructor;
default: boolean;
};
width: (NumberConstructor | StringConstructor)[];
maxHeight: (NumberConstructor | StringConstructor)[];
lazy: BooleanConstructor;
className: {
type: StringConstructor;
default: string;
};
height: (NumberConstructor | StringConstructor)[];
stripe: {
type: BooleanConstructor;
default: null;
};
border: {
type: BooleanConstructor;
default: null;
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
showSummary: BooleanConstructor;
sumText: StringConstructor;
summaryMethod: PropType<import('element-plus').SummaryMethod<any> | undefined>;
rowClassName: PropType<import('element-plus').ColumnCls<any> | undefined>;
rowStyle: PropType<import('element-plus').ColumnStyle<any> | undefined>;
cellClassName: PropType<import('element-plus').CellCls<any> | undefined>;
cellStyle: PropType<import('element-plus').CellStyle<any> | undefined>;
headerRowClassName: PropType<import('element-plus').ColumnCls<any> | undefined>;
headerRowStyle: PropType<import('element-plus').ColumnStyle<any> | undefined>;
headerCellClassName: PropType<import('element-plus').CellCls<any> | undefined>;
headerCellStyle: PropType<import('element-plus').CellStyle<any> | undefined>;
highlightCurrentRow: BooleanConstructor;
currentRowKey: (NumberConstructor | StringConstructor)[];
emptyText: StringConstructor;
expandRowKeys: PropType<string[] | undefined>;
defaultExpandAll: BooleanConstructor;
defaultSort: PropType<import('element-plus').Sort | undefined>;
tooltipEffect: StringConstructor;
tooltipOptions: PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
spanMethod: PropType<((data: {
row: any;
rowIndex: number;
column: import('element-plus').TableColumnCtx<any>;
columnIndex: number;
}) => number[] | {
rowspan: number;
colspan: number;
} | undefined) | undefined>;
selectOnIndeterminate: {
type: BooleanConstructor;
default: boolean;
};
indent: {
type: NumberConstructor;
default: number;
};
treeProps: {
type: PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
default: () => {
hasChildren: string;
children: string;
checkStrictly: boolean;
};
};
tableLayout: {
type: PropType<"auto" | "fixed">;
default: string;
};
scrollbarAlwaysOn: BooleanConstructor;
flexible: BooleanConstructor;
showOverflowTooltip: PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
appendFilterPanelTo: StringConstructor;
scrollbarTabindex: {
type: (NumberConstructor | StringConstructor)[];
default: undefined;
};
columns: {
type: PropType<Columns>;
required: boolean;
};
sticky: BooleanConstructor;
headerEllipsis: {
type: BooleanConstructor;
default: boolean;
};
slotNormalize: {
type: BooleanConstructor;
default: boolean;
};
bottomLine: {
type: BooleanConstructor;
default: boolean;
};
emptyProps: {
type: PropType<import('../ele-data-table/types').TableEmptyProps>;
default: () => null;
};
rowClickChecked: PropType<import('../ele-data-table/types').RowClickChecked>;
reserveCurrent: BooleanConstructor;
selectedRowKeys: PropType<import('../ele-data-table/types').DataKey[]>;
};
export type ProTableProps = ExtractPropTypes<typeof proTableProps>;
/**
* 事件
*/
export declare const proTableEmits: {
/** 表格数据请求完成事件 */
done: (_result: DoneParams<DataItem>, _parent?: DataItem) => boolean;
/** 更新多选选中数据 */
'update:selections': (_selections: DataItem[]) => boolean;
/** 更新单选选中数据 */
'update:current': (_current?: DataItem | null) => boolean;
/** 列配置改变事件 */
columnsChange: (_columns: Columns, _tableColumns: Columns, _isReset: boolean) => boolean;
/** 表格尺寸改变事件 */
sizeChange: (_size: TableSize) => boolean;
/** 表格最大化切换事件 */
maximizedChange: (_maximized: boolean) => boolean;
/** 数组数据源时刷新按钮点击事件 */
refresh: () => boolean;
select: (_selection: DataItem[], _row: DataItem) => boolean;
selectAll: (_selection: DataItem[]) => boolean;
selectionChange: (_selection: DataItem[]) => boolean;
cellMouseEnter: (_row: DataItem, _column: import('./types').Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellMouseLeave: (_row: DataItem, _column: import('./types').Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellClick: (_row: DataItem, _column: import('./types').Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellDblclick: (_row: DataItem, _column: import('./types').Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
cellContextmenu: (_row: DataItem, _column: import('./types').Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
rowClick: (_row: DataItem, _column: import('./types').Column, _e: MouseEvent) => boolean;
rowContextmenu: (_row: DataItem, _column: import('./types').Column, _e: MouseEvent) => boolean;
rowDblclick: (_row: DataItem, _column: import('./types').Column, _e: MouseEvent) => boolean;
headerClick: (_column: import('./types').Column, _e: MouseEvent) => boolean;
headerContextmenu: (_column: import('./types').Column, _e: MouseEvent) => boolean;
sortChange: (_sorter: import('./types').Sorter) => boolean;
filterChange: (_filter: import('./types').Filter) => boolean;
currentChange: (_current?: DataItem | null, _old?: DataItem | null) => boolean;
headerDragend: (_width: number, _old: number, _column: import('./types').Column, _e: MouseEvent) => boolean;
expandChange: (_row: DataItem, _expanded: boolean) => boolean;
'update:currentRowKey': (_currentRowKey?: import('../ele-data-table/types').DataKey) => boolean;
'update:selectedRowKeys': (_selectedRowKeys?: import('../ele-data-table/types').DataKey[]) => boolean;
};
/**
* 默认工具按钮实例
*/
export type TableToolsInstance = InstanceType<typeof TableTools> | null;
/**
* 导出组件实例
*/
export type ToolExportInstance = InstanceType<typeof ToolExport> | null;
/**
* 打印组件实例
*/
export type ToolPrintInstance = InstanceType<typeof ToolPrint> | null;