ant-design-vue
Version:
An enterprise-class UI design language and Vue-based implementation
287 lines (286 loc) • 10.6 kB
TypeScript
import type { TableProps as RcTableProps } from '../vc-table/Table';
import type { SpinProps } from '../spin';
import type { TooltipProps } from '../tooltip';
import type { TableRowSelection, GetRowKey, ColumnType, ColumnsType, TableCurrentDataSource, SorterResult, GetPopupContainer, TablePaginationConfig, SortOrder, TableLocale, FilterValue } from './interface';
import type { SizeType } from '../config-provider';
import type { PropType } from 'vue';
import type { DefaultRecordType } from '../vc-table/interface';
import type { ContextSlots } from './context';
export type { ColumnsType, TablePaginationConfig };
export interface TableProps<RecordType = DefaultRecordType> extends Omit<RcTableProps<RecordType>, 'transformColumns' | 'internalHooks' | 'internalRefs' | 'data' | 'columns' | 'scroll' | 'emptyText' | 'canExpandable' | 'onUpdateInternalRefs'> {
dropdownPrefixCls?: string;
dataSource?: RcTableProps<RecordType>['data'];
columns?: ColumnsType<RecordType>;
pagination?: false | TablePaginationConfig;
loading?: boolean | SpinProps;
size?: SizeType;
bordered?: boolean;
locale?: TableLocale;
onChange?: (pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult<RecordType> | SorterResult<RecordType>[], extra: TableCurrentDataSource<RecordType>) => void;
rowSelection?: TableRowSelection<RecordType>;
getPopupContainer?: GetPopupContainer;
scroll?: RcTableProps<RecordType>['scroll'] & {
scrollToFirstRowOnChange?: boolean;
};
sortDirections?: SortOrder[];
showSorterTooltip?: boolean | TooltipProps;
}
export declare const tableProps: () => {
prefixCls: {
type: PropType<string>;
default: any;
};
columns: {
type: PropType<ColumnsType<any>>;
default: any;
};
rowKey: {
type: PropType<string | GetRowKey<any>>;
default: any;
};
tableLayout: {
type: PropType<import("../vc-table/interface").TableLayout>;
default: any;
};
rowClassName: {
type: PropType<string | import("../vc-table/interface").RowClassName<any>>;
default: any;
};
title: {
type: PropType<import("../vc-table/interface").PanelRender<any>>;
default: any;
};
footer: {
type: PropType<import("../vc-table/interface").PanelRender<any>>;
default: any;
};
id: {
type: PropType<string>;
default: any;
};
showHeader: {
type: PropType<boolean>;
default: any;
};
components: {
type: PropType<import("../vc-table/interface").TableComponents<any>>;
default: any;
};
customRow: {
type: PropType<import("../vc-table/interface").GetComponentProps<any>>;
default: any;
};
customHeaderRow: {
type: PropType<import("../vc-table/interface").GetComponentProps<import("../vc-table/interface").ColumnType<any>[]>>;
default: any;
};
direction: {
type: PropType<"ltr" | "rtl">;
default: any;
};
expandFixed: {
type: PropType<boolean>;
default: any;
};
expandColumnWidth: {
type: PropType<number>;
default: any;
};
expandedRowKeys: {
type: PropType<import("../vc-table/interface").Key[]>;
default: import("../vc-table/interface").Key[];
};
defaultExpandedRowKeys: {
type: PropType<import("../vc-table/interface").Key[]>;
default: import("../vc-table/interface").Key[];
};
expandedRowRender: {
type: PropType<import("../vc-table/interface").ExpandedRowRender<any>>;
default: any;
};
expandRowByClick: {
type: PropType<boolean>;
default: any;
};
expandIcon: {
type: PropType<import("../vc-table/interface").RenderExpandIcon<any>>;
default: any;
};
onExpand: {
type: PropType<(expanded: boolean, record: any) => void>;
default: any;
};
onExpandedRowsChange: {
type: PropType<(expandedKeys: import("../vc-table/interface").Key[]) => void>;
default: any;
};
defaultExpandAllRows: {
type: PropType<boolean>;
default: any;
};
indentSize: {
type: PropType<number>;
default: any;
};
/** @deprecated Please use `EXPAND_COLUMN` in `columns` directly */
expandIconColumnIndex: {
type: PropType<number>;
default: any;
};
showExpandColumn: {
type: BooleanConstructor;
default: any;
};
expandedRowClassName: {
type: PropType<import("../vc-table/interface").RowClassName<any>>;
default: any;
};
childrenColumnName: {
type: PropType<string>;
default: any;
};
rowExpandable: {
type: PropType<(record: any) => boolean>;
default: any;
};
sticky: {
type: PropType<boolean | import("../vc-table/interface").TableSticky>;
default: any;
};
dropdownPrefixCls: StringConstructor;
dataSource: {
type: PropType<any[]>;
default: any;
};
pagination: {
type: PropType<false | TablePaginationConfig>;
default: any;
};
loading: {
type: PropType<false | Partial<import("vue").ExtractPropTypes<{
prefixCls: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
spinning: import("vue-types").VueTypeValidableDef<boolean>;
size: import("vue-types").VueTypeDef<"default" | "small" | "large">;
wrapperClassName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
tip: import("vue-types").VueTypeValidableDef<any>;
delay: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
indicator: import("vue-types").VueTypeValidableDef<any>;
}>>>;
default: any;
};
size: {
type: PropType<SizeType>;
default: any;
};
bordered: BooleanConstructor;
locale: {
type: PropType<TableLocale>;
default: any;
};
onChange: {
type: PropType<(pagination: TablePaginationConfig, filters: Record<string, FilterValue | null>, sorter: SorterResult | SorterResult[], extra: TableCurrentDataSource) => void>;
default: any;
};
onResizeColumn: {
type: PropType<(w: number, col: ColumnType) => void>;
default: any;
};
rowSelection: {
type: PropType<TableRowSelection<any>>;
default: any;
};
getPopupContainer: {
type: PropType<GetPopupContainer>;
default: any;
};
scroll: {
type: PropType<{
x?: string | number | true;
y?: string | number;
} & {
scrollToFirstRowOnChange?: boolean;
}>;
default: any;
};
sortDirections: {
type: PropType<SortOrder[]>;
default: any;
};
showSorterTooltip: {
type: PropType<boolean | Partial<import("vue").ExtractPropTypes<{
title: import("vue-types").VueTypeValidableDef<any>;
trigger: import("vue-types").VueTypeDef<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>;
visible: import("vue-types").VueTypeValidableDef<boolean>;
defaultVisible: import("vue-types").VueTypeValidableDef<boolean>;
placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top" | "bottomLeft" | "bottomRight" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom">;
color: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
transitionName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
overlayStyle: import("vue-types").VueTypeValidableDef<import("vue").CSSProperties>;
overlayClassName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
openClassName: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
prefixCls: import("vue-types").VueTypeValidableDef<string> & {
default: string;
};
mouseEnterDelay: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
mouseLeaveDelay: import("vue-types").VueTypeValidableDef<number> & {
default: number;
};
getPopupContainer: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
arrowPointAtCenter: import("vue-types").VueTypeValidableDef<boolean>;
autoAdjustOverflow: import("vue-types").VueTypeDef<boolean | {
[key: string]: any;
}>;
destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
align: import("vue-types").VueTypeValidableDef<{
[key: string]: any;
}> & {
default: () => {
[key: string]: any;
};
};
builtinPlacements: import("vue-types").VueTypeValidableDef<{
[key: string]: any;
}> & {
default: () => {
[key: string]: any;
};
};
children: import("vue-types").VueTypeValidableDef<unknown[]> & {
default: () => unknown[];
};
onVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
'onUpdate:visible': import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
default: (...args: any[]) => any;
};
}>>>;
default: boolean;
};
contextSlots: {
type: PropType<ContextSlots>;
};
transformCellText: {
type: PropType<import("../vc-table/interface").TransformCellText<any>>;
};
};
declare const Table: import("vue").DefineComponent<TableProps<any>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<TableProps<any>>, {}>;
export default Table;