import { ElementUIComponent } from './component'; import { TooltipEffect } from './tooltip'; export type SortOrder = 'ascending' | 'descending'; /** Options to set the default sort column and order */ export interface DefaultSortOptions { /** Default sort column */ prop: string; /** Default sort order */ order: SortOrder; } export interface SummaryMethodParams { columns: object[]; data: object; } export interface rowCallbackParams { row: object; rowIndex: number; } export interface cellCallbackParams { row: object; rowIndex: number; column: object; columnIndex: number; } export interface treeNode { rowKey: string | number; isLeaf: boolean; level: number; expanded: boolean; loaded: boolean; } /** Table Component */ export declare class ElTable extends ElementUIComponent { /** Table data */ data: object[]; /** Table's height. By default it has an auto height. If its value is a number, the height is measured in pixels; if its value is a string, the height is affected by external styles */ height: string | number; /** Table's max-height. The height of the table starts from auto until it reaches the maxHeight limit. The maxHeight is measured in pixels, same as height */ maxHeight: string | number; /** Whether table is striped */ stripe: boolean; /** Whether table has vertical border */ border: boolean; /** Whether width of column automatically fits its container */ fit: boolean; /** Whether table header is visible */ showHeader: boolean; /** Whether current row is highlighted */ highlightCurrentRow: boolean; /** Key of current row, a set only prop */ currentRowKey: string | number; /** Whether to lazy load tree structure data, used with load attribute */ lazy: boolean; /** Horizontal indentation of nodes in adjacent levels in pixels */ indent: number; /** Function that returns custom class names for a row, or a string assigning class names for every row */ rowClassName: string | ((param: rowCallbackParams) => string); /** Function that returns custom style for a row, or an object assigning custom style for every row */ rowStyle: object | ((param: rowCallbackParams) => object); /** Function that returns custom class names for a cell, or a string assigning class names for every cell */ cellClassName: string | ((param: cellCallbackParams) => string); /** Function that returns custom style for a cell, or an object assigning custom style for every cell */ cellStyle: object | ((param: cellCallbackParams) => object); /** Function that returns custom class names for a row in table header, or a string assigning class names for every row in table header */ headerRowClassName: string | ((param: rowCallbackParams) => string); /** Function that returns custom style for a row in table header, or an object assigning custom style for every row in table header */ headerRowStyle: object | ((param: rowCallbackParams) => object); /** Function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header */ headerCellClassName: string | ((param: cellCallbackParams) => string); /** Function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header */ headerCellStyle: object | ((param: cellCallbackParams) => object); /** Key of row data, used for optimizing rendering. Required if reserve-selection is on */ rowKey: (row: object) => any; /** Displayed text when data is empty. You can customize this area with `slot="empty"` */ emptyText: String; /** Whether expand all rows by default. Only works when the table has a column `type="expand"` */ defaultExpandAll: Boolean; /** Set expanded rows by this prop. Prop's value is the keys of expand rows, you should set row-key before using this prop */ expandRowKeys: any[]; /** Set the default sort column and order */ defaultSort: DefaultSortOptions; /** Tooltip effect property */ tooltipEffect: TooltipEffect; /** Whether to display a summary row */ showSummary: boolean; /** Displayed text for the first column of summary row */ sumText: string; /** Custom summary method */ summaryMethod: (param: SummaryMethodParams) => any[]; /** Controls the behavior of master checkbox in multi-select tables when only some rows are selected */ selectOnIndeterminate: boolean; /** Clear selection. Might be useful when `reserve-selection` is on */ clearSelection(): void; /** * Toggle or set if a certain row is selected * * @param row The row that is going to set its selected state * @param selected Whether the row is selected. The selected state will be toggled if not set */ toggleRowSelection(row: object, selected?: boolean): void; /** * Toggle or set all rows */ toggleAllSelection(): void; /** * Set a certain row as selected * * @param row The row that is going to set as selected */ setCurrentRow(row?: object): void; /** * Toggle or set if a certain row is expanded * * @param row The row that is going to set its expanded state * @param expanded Whether the row is expanded. The expanded state will be toggled if not set */ toggleRowExpansion(row: object, expanded?: boolean): void; /** Clear sort status, reset the table to unsorted */ clearSort(): void; /** Clear filter, reset the table to unfiltered */ clearFilter(): void; /** Relayout the table, maybe needed when change the table or it's ancestors visibility */ doLayout(): void; /** Sort Table manually */ sort(prop: string, order: string): void; /** method for lazy load subtree data */ load(row: object, treeNode: treeNode, resolve: Function): void; }