@arco-design/web-vue
Version:
Arco Design Vue 2.0: A Vue.js 3 UI Library
417 lines (416 loc) • 14.1 kB
TypeScript
import type { PropType } from 'vue';
import type { TableBorder, TableChangeExtra, TableColumnData, TableComponents, TableData, TableDraggable, TableExpandable, TableOperationColumn, TableRowSelection } from './interface';
import { PaginationProps } from '../pagination';
import { VirtualListProps } from '../_components/virtual-list-v2/interface';
import { ScrollbarProps } from '../scrollbar';
import type { BaseType } from '../_utils/types';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
columns: {
type: PropType<TableColumnData[]>;
default: () => never[];
};
data: {
type: PropType<TableData[]>;
default: () => never[];
};
bordered: {
type: PropType<boolean | TableBorder>;
default: boolean;
};
hoverable: {
type: BooleanConstructor;
default: boolean;
};
stripe: {
type: BooleanConstructor;
default: boolean;
};
size: {
type: PropType<"mini" | "small" | "medium" | "large">;
default: () => "mini" | "small" | "medium" | "large";
};
tableLayoutFixed: {
type: BooleanConstructor;
default: boolean;
};
loading: {
type: (BooleanConstructor | ObjectConstructor)[];
default: boolean;
};
rowSelection: {
type: PropType<TableRowSelection>;
};
expandable: {
type: PropType<TableExpandable>;
};
scroll: {
type: PropType<{
x?: string | number | undefined;
y?: string | number | undefined;
minWidth?: string | number | undefined;
maxHeight?: string | number | undefined;
}>;
};
pagination: {
type: PropType<boolean | PaginationProps>;
default: boolean;
};
pagePosition: {
type: PropType<"br" | "tr" | "top" | "bottom" | "tl" | "bl">;
default: string;
};
indentSize: {
type: NumberConstructor;
default: number;
};
rowKey: {
type: StringConstructor;
default: string;
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
virtualListProps: {
type: PropType<VirtualListProps>;
};
spanMethod: {
type: PropType<(data: {
record: TableData;
column: TableColumnData | TableOperationColumn;
rowIndex: number;
columnIndex: number;
}) => {
rowspan?: number;
colspan?: number;
} | void>;
};
spanAll: {
type: BooleanConstructor;
default: boolean;
};
components: {
type: PropType<TableComponents>;
};
loadMore: {
type: PropType<(record: TableData, done: (children?: TableData[] | undefined) => void) => void>;
};
filterIconAlignLeft: {
type: BooleanConstructor;
default: boolean;
};
hideExpandButtonOnEmpty: {
type: BooleanConstructor;
default: boolean;
};
rowClass: {
type: PropType<string | any[] | Record<string, any> | ((record: TableData, rowIndex: number) => any)>;
};
draggable: {
type: PropType<TableDraggable>;
};
rowNumber: {
type: (BooleanConstructor | ObjectConstructor)[];
};
columnResizable: {
type: BooleanConstructor;
};
summary: {
type: PropType<boolean | ((params: {
columns: TableColumnData[];
data: TableData[];
}) => TableData[])>;
};
summaryText: {
type: StringConstructor;
default: string;
};
summarySpanMethod: {
type: PropType<(data: {
record: TableData;
column: TableColumnData | TableOperationColumn;
rowIndex: number;
columnIndex: number;
}) => {
rowspan?: number;
colspan?: number;
} | void>;
};
selectedKeys: {
type: PropType<(string | number)[]>;
};
defaultSelectedKeys: {
type: PropType<(string | number)[]>;
};
expandedKeys: {
type: PropType<(string | number)[]>;
};
defaultExpandedKeys: {
type: PropType<(string | number)[]>;
};
defaultExpandAllRows: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: (BooleanConstructor | NumberConstructor)[];
default: boolean;
};
scrollbar: {
type: PropType<boolean | ScrollbarProps>;
default: boolean;
};
showEmptyTree: {
type: BooleanConstructor;
default: boolean;
};
}>, {
render: () => import("vue/jsx-runtime").JSX.Element;
selfExpand: (rowKey: BaseType | BaseType[], expanded?: boolean) => void;
selfExpandAll: (expanded?: boolean) => void;
selfSelect: (rowKey: BaseType | BaseType[], checked?: boolean) => void;
selfSelectAll: (checked?: boolean) => void;
selfResetFilters: (dataIndex?: string | string[] | undefined) => void;
selfClearFilters: (dataIndex?: string | string[] | undefined) => void;
selfResetSorters: () => void;
selfClearSorters: () => void;
}, {}, {}, {
selectAll(checked?: boolean | undefined): void;
select(rowKey: string | number | (string | number)[], checked?: boolean | undefined): void;
expandAll(checked?: boolean | undefined): void;
expand(rowKey: string | number | (string | number)[], checked?: boolean | undefined): void;
resetFilters(dataIndex?: string | string[] | undefined): void;
clearFilters(dataIndex?: string | string[] | undefined): void;
resetSorters(): void;
clearSorters(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
'update:selectedKeys': (rowKeys: (string | number)[]) => true;
'update:expandedKeys': (rowKeys: (string | number)[]) => true;
expand: (rowKey: string | number, record: TableData) => true;
expandedChange: (rowKeys: (string | number)[]) => true;
select: (rowKeys: (string | number)[], rowKey: string | number, record: TableData) => true;
selectAll: (checked: boolean) => true;
selectionChange: (rowKeys: (string | number)[]) => true;
sorterChange: (dataIndex: string, direction: string) => true;
filterChange: (dataIndex: string, filteredValues: string[]) => true;
pageChange: (page: number) => true;
pageSizeChange: (pageSize: number) => true;
change: (data: TableData[], extra: TableChangeExtra, currentData: TableData[]) => true;
cellMouseEnter: (record: TableData, column: TableColumnData, ev: Event) => true;
cellMouseLeave: (record: TableData, column: TableColumnData, ev: Event) => true;
cellClick: (record: TableData, column: TableColumnData, ev: Event) => true;
rowClick: (record: TableData, ev: Event) => true;
headerClick: (column: TableColumnData, ev: Event) => true;
columnResize: (dataIndex: string, width: number) => true;
rowDblclick: (record: TableData, ev: Event) => true;
cellDblclick: (record: TableData, column: TableColumnData, ev: Event) => true;
rowContextmenu: (record: TableData, ev: Event) => true;
cellContextmenu: (record: TableData, column: TableColumnData, ev: Event) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
columns: {
type: PropType<TableColumnData[]>;
default: () => never[];
};
data: {
type: PropType<TableData[]>;
default: () => never[];
};
bordered: {
type: PropType<boolean | TableBorder>;
default: boolean;
};
hoverable: {
type: BooleanConstructor;
default: boolean;
};
stripe: {
type: BooleanConstructor;
default: boolean;
};
size: {
type: PropType<"mini" | "small" | "medium" | "large">;
default: () => "mini" | "small" | "medium" | "large";
};
tableLayoutFixed: {
type: BooleanConstructor;
default: boolean;
};
loading: {
type: (BooleanConstructor | ObjectConstructor)[];
default: boolean;
};
rowSelection: {
type: PropType<TableRowSelection>;
};
expandable: {
type: PropType<TableExpandable>;
};
scroll: {
type: PropType<{
x?: string | number | undefined;
y?: string | number | undefined;
minWidth?: string | number | undefined;
maxHeight?: string | number | undefined;
}>;
};
pagination: {
type: PropType<boolean | PaginationProps>;
default: boolean;
};
pagePosition: {
type: PropType<"br" | "tr" | "top" | "bottom" | "tl" | "bl">;
default: string;
};
indentSize: {
type: NumberConstructor;
default: number;
};
rowKey: {
type: StringConstructor;
default: string;
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
virtualListProps: {
type: PropType<VirtualListProps>;
};
spanMethod: {
type: PropType<(data: {
record: TableData;
column: TableColumnData | TableOperationColumn;
rowIndex: number;
columnIndex: number;
}) => {
rowspan?: number;
colspan?: number;
} | void>;
};
spanAll: {
type: BooleanConstructor;
default: boolean;
};
components: {
type: PropType<TableComponents>;
};
loadMore: {
type: PropType<(record: TableData, done: (children?: TableData[] | undefined) => void) => void>;
};
filterIconAlignLeft: {
type: BooleanConstructor;
default: boolean;
};
hideExpandButtonOnEmpty: {
type: BooleanConstructor;
default: boolean;
};
rowClass: {
type: PropType<string | any[] | Record<string, any> | ((record: TableData, rowIndex: number) => any)>;
};
draggable: {
type: PropType<TableDraggable>;
};
rowNumber: {
type: (BooleanConstructor | ObjectConstructor)[];
};
columnResizable: {
type: BooleanConstructor;
};
summary: {
type: PropType<boolean | ((params: {
columns: TableColumnData[];
data: TableData[];
}) => TableData[])>;
};
summaryText: {
type: StringConstructor;
default: string;
};
summarySpanMethod: {
type: PropType<(data: {
record: TableData;
column: TableColumnData | TableOperationColumn;
rowIndex: number;
columnIndex: number;
}) => {
rowspan?: number;
colspan?: number;
} | void>;
};
selectedKeys: {
type: PropType<(string | number)[]>;
};
defaultSelectedKeys: {
type: PropType<(string | number)[]>;
};
expandedKeys: {
type: PropType<(string | number)[]>;
};
defaultExpandedKeys: {
type: PropType<(string | number)[]>;
};
defaultExpandAllRows: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: (BooleanConstructor | NumberConstructor)[];
default: boolean;
};
scrollbar: {
type: PropType<boolean | ScrollbarProps>;
default: boolean;
};
showEmptyTree: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
onChange?: ((data: TableData[], extra: TableChangeExtra, currentData: TableData[]) => any) | undefined;
onSelect?: ((rowKeys: (string | number)[], rowKey: string | number, record: TableData) => any) | undefined;
onPageChange?: ((page: number) => any) | undefined;
onPageSizeChange?: ((pageSize: number) => any) | undefined;
"onUpdate:selectedKeys"?: ((rowKeys: (string | number)[]) => any) | undefined;
"onUpdate:expandedKeys"?: ((rowKeys: (string | number)[]) => any) | undefined;
onExpand?: ((rowKey: string | number, record: TableData) => any) | undefined;
onExpandedChange?: ((rowKeys: (string | number)[]) => any) | undefined;
onSelectAll?: ((checked: boolean) => any) | undefined;
onSelectionChange?: ((rowKeys: (string | number)[]) => any) | undefined;
onSorterChange?: ((dataIndex: string, direction: string) => any) | undefined;
onFilterChange?: ((dataIndex: string, filteredValues: string[]) => any) | undefined;
onCellMouseEnter?: ((record: TableData, column: TableColumnData, ev: Event) => any) | undefined;
onCellMouseLeave?: ((record: TableData, column: TableColumnData, ev: Event) => any) | undefined;
onCellClick?: ((record: TableData, column: TableColumnData, ev: Event) => any) | undefined;
onRowClick?: ((record: TableData, ev: Event) => any) | undefined;
onHeaderClick?: ((column: TableColumnData, ev: Event) => any) | undefined;
onColumnResize?: ((dataIndex: string, width: number) => any) | undefined;
onRowDblclick?: ((record: TableData, ev: Event) => any) | undefined;
onCellDblclick?: ((record: TableData, column: TableColumnData, ev: Event) => any) | undefined;
onRowContextmenu?: ((record: TableData, ev: Event) => any) | undefined;
onCellContextmenu?: ((record: TableData, column: TableColumnData, ev: Event) => any) | undefined;
}>, {
size: "mini" | "small" | "medium" | "large";
data: TableData[];
loading: boolean | Record<string, any>;
bordered: boolean | TableBorder;
scrollbar: boolean | ScrollbarProps;
columns: TableColumnData[];
hoverable: boolean;
stripe: boolean;
tableLayoutFixed: boolean;
pagination: boolean | PaginationProps;
pagePosition: "br" | "tr" | "top" | "bottom" | "tl" | "bl";
indentSize: number;
rowKey: string;
showHeader: boolean;
spanAll: boolean;
filterIconAlignLeft: boolean;
hideExpandButtonOnEmpty: boolean;
columnResizable: boolean;
summaryText: string;
defaultExpandAllRows: boolean;
stickyHeader: number | boolean;
showEmptyTree: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;