tdesign-vue-next
Version:
TDesign Component for vue-next
485 lines (484 loc) • 18 kB
TypeScript
import { PropType } from 'vue';
import { TNodeReturnValue } from '../common';
import { BaseTableProps, RowAndColFixedPosition } from './interface';
import { TdBaseTableProps } from './type';
import { VirtualScrollConfig } from '../hooks/useVirtualScrollNew';
export declare const ROW_AND_TD_LISTENERS: string[];
export interface TableBodyProps extends BaseTableProps {
classPrefix: string;
ellipsisOverlayClassName: string;
rowAndColFixedPosition: RowAndColFixedPosition;
showColumnShadow: {
left: boolean;
right: boolean;
};
tableElm: any;
tableWidth: number;
isWidthOverflow: boolean;
virtualConfig: VirtualScrollConfig;
tableContentElm: any;
cellEmptyContent: TdBaseTableProps['cellEmptyContent'];
handleRowMounted: (rowData: any) => void;
}
export declare const extendTableProps: string[];
declare const _default: import("vue").DefineComponent<{
activeRowKeys?: {
type: PropType<TdBaseTableProps["activeRowKeys"]>;
default: TdBaseTableProps["activeRowKeys"];
};
defaultActiveRowKeys?: {
type: PropType<TdBaseTableProps["defaultActiveRowKeys"]>;
default: () => TdBaseTableProps["defaultActiveRowKeys"];
};
activeRowType?: {
type: PropType<TdBaseTableProps["activeRowType"]>;
default: TdBaseTableProps["activeRowType"];
};
allowResizeColumnWidth?: {
type: BooleanConstructor;
default: any;
};
attach?: {
type: PropType<TdBaseTableProps["attach"]>;
};
bordered?: BooleanConstructor;
bottomContent?: {
type: PropType<TdBaseTableProps["bottomContent"]>;
};
cellEmptyContent?: {
type: PropType<TdBaseTableProps["cellEmptyContent"]>;
};
columns: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]> | {
type: PropType<TdBaseTableProps["columns"]>;
default: () => TdBaseTableProps["columns"];
};
data: PropType<import("./type").TableRowData[]> | {
type: PropType<TdBaseTableProps["data"]>;
default: () => TdBaseTableProps["data"];
};
disableDataPage?: BooleanConstructor;
disableSpaceInactiveRow?: {
type: BooleanConstructor;
default: any;
};
empty?: {
type: PropType<TdBaseTableProps["empty"]>;
default: TdBaseTableProps["empty"];
};
firstFullRow: PropType<string | ((h: typeof import("vue").h) => TNodeReturnValue)> | {
type: PropType<TdBaseTableProps["firstFullRow"]>;
};
fixedRows?: {
type: PropType<TdBaseTableProps["fixedRows"]>;
};
footData?: {
type: PropType<TdBaseTableProps["footData"]>;
default: () => TdBaseTableProps["footData"];
};
footerAffixProps?: {
type: PropType<TdBaseTableProps["footerAffixProps"]>;
};
footerAffixedBottom?: {
type: PropType<TdBaseTableProps["footerAffixedBottom"]>;
default: TdBaseTableProps["footerAffixedBottom"];
};
footerSummary?: {
type: PropType<TdBaseTableProps["footerSummary"]>;
};
headerAffixProps?: {
type: PropType<TdBaseTableProps["headerAffixProps"]>;
};
headerAffixedTop?: {
type: PropType<TdBaseTableProps["headerAffixedTop"]>;
default: TdBaseTableProps["headerAffixedTop"];
};
height?: {
type: PropType<TdBaseTableProps["height"]>;
};
horizontalScrollAffixedBottom?: {
type: PropType<TdBaseTableProps["horizontalScrollAffixedBottom"]>;
};
hover?: BooleanConstructor;
keyboardRowHover?: {
type: BooleanConstructor;
default: boolean;
};
lastFullRow: PropType<string | ((h: typeof import("vue").h) => TNodeReturnValue)> | {
type: PropType<TdBaseTableProps["lastFullRow"]>;
};
lazyLoad?: BooleanConstructor;
loading?: {
type: PropType<TdBaseTableProps["loading"]>;
default: TdBaseTableProps["loading"];
};
loadingProps?: {
type: PropType<TdBaseTableProps["loadingProps"]>;
};
locale?: {
type: PropType<TdBaseTableProps["locale"]>;
};
maxHeight?: {
type: PropType<TdBaseTableProps["maxHeight"]>;
};
pagination?: {
type: PropType<TdBaseTableProps["pagination"]>;
};
paginationAffixedBottom?: {
type: PropType<TdBaseTableProps["paginationAffixedBottom"]>;
};
resizable?: BooleanConstructor;
rowAttributes?: {
type: PropType<TdBaseTableProps["rowAttributes"]>;
};
rowClassName?: {
type: PropType<TdBaseTableProps["rowClassName"]>;
};
rowKey?: {
type: StringConstructor;
default: string;
required: boolean;
};
rowspanAndColspan?: {
type: PropType<TdBaseTableProps["rowspanAndColspan"]>;
};
rowspanAndColspanInFooter?: {
type: PropType<TdBaseTableProps["rowspanAndColspanInFooter"]>;
};
scroll?: {
type: PropType<TdBaseTableProps["scroll"]>;
};
showHeader?: {
type: BooleanConstructor;
default: boolean;
};
size?: {
type: PropType<TdBaseTableProps["size"]>;
validator(val: TdBaseTableProps["size"]): boolean;
};
stripe?: BooleanConstructor;
tableContentWidth?: {
type: StringConstructor;
default: string;
};
tableLayout?: {
type: PropType<TdBaseTableProps["tableLayout"]>;
default: TdBaseTableProps["tableLayout"];
validator(val: TdBaseTableProps["tableLayout"]): boolean;
};
topContent?: {
type: PropType<TdBaseTableProps["topContent"]>;
};
verticalAlign?: {
type: PropType<TdBaseTableProps["verticalAlign"]>;
default: TdBaseTableProps["verticalAlign"];
validator(val: TdBaseTableProps["verticalAlign"]): boolean;
};
onActiveChange?: PropType<TdBaseTableProps["onActiveChange"]>;
onActiveRowAction?: PropType<TdBaseTableProps["onActiveRowAction"]>;
onCellClick?: PropType<TdBaseTableProps["onCellClick"]>;
onColumnResizeChange?: PropType<TdBaseTableProps["onColumnResizeChange"]>;
onPageChange?: PropType<TdBaseTableProps["onPageChange"]>;
onRowClick?: PropType<TdBaseTableProps["onRowClick"]>;
onRowDblclick?: PropType<TdBaseTableProps["onRowDblclick"]>;
onRowMousedown?: PropType<TdBaseTableProps["onRowMousedown"]>;
onRowMouseenter?: PropType<TdBaseTableProps["onRowMouseenter"]>;
onRowMouseleave?: PropType<TdBaseTableProps["onRowMouseleave"]>;
onRowMouseover?: PropType<TdBaseTableProps["onRowMouseover"]>;
onRowMouseup?: PropType<TdBaseTableProps["onRowMouseup"]>;
onScroll?: PropType<TdBaseTableProps["onScroll"]>;
onScrollX?: PropType<TdBaseTableProps["onScrollX"]>;
onScrollY?: PropType<TdBaseTableProps["onScrollY"]>;
classPrefix: StringConstructor;
ellipsisOverlayClassName: StringConstructor;
rowAndColFixedPosition: PropType<TableBodyProps["rowAndColFixedPosition"]>;
showColumnShadow: PropType<TableBodyProps["showColumnShadow"]>;
tableElm: {};
tableWidth: NumberConstructor;
isWidthOverflow: BooleanConstructor;
virtualConfig: PropType<VirtualScrollConfig>;
tableContentElm: {};
handleRowMounted: PropType<TableBodyProps["handleRowMounted"]>;
renderExpandedRow: PropType<TableBodyProps["renderExpandedRow"]>;
activeRow: PropType<Array<string | number>>;
hoverRow: (NumberConstructor | StringConstructor)[];
}, {
t: <T>(pattern: T, ...args: any[]) => any;
globalConfig: import("vue").ComputedRef<{} & (import("..").TableConfig | ({
readonly expandIcon: any;
readonly sortIcon: any;
readonly filterIcon: any;
readonly treeExpandAndFoldIcon: any;
readonly hideSortTips: false;
readonly size: "medium";
} & {
readonly empty: "暂无数据";
readonly loadingText: "正在加载中,请稍后";
readonly loadingMoreText: "点击加载更多";
readonly filterInputPlaceholder: "请输入内容(无默认值)";
readonly sortAscendingOperationText: "点击升序";
readonly sortCancelOperationText: "点击取消排序";
readonly sortDescendingOperationText: "点击降序";
readonly clearFilterResultButtonText: "清空筛选";
readonly columnConfigButtonText: "列配置";
readonly columnConfigTitleText: "表格列配置";
readonly columnConfigDescriptionText: "请选择需要在表格中显示的数据列";
readonly confirmText: "确认";
readonly cancelText: "取消";
readonly resetText: "重置";
readonly selectAllText: "全选";
readonly searchResultText: "搜索“{result}”,找到 {count} 条结果";
} & import("..").TableConfig))>;
renderTNode: (name: string, options?: import("../utils/render-tnode").OptionsType) => any;
tableFullRowClasses: {
base: string;
innerFullRow: string;
innerFullElement: string;
firstFullRow: string;
lastFullRow: string;
};
tbodyClasses: import("vue").ComputedRef<string[]>;
tableBaseClass: {
table: string;
columnResizableTable: string;
overflowVisible: string;
body: string;
content: string;
topContent: string;
bottomContent: string;
paginationWrap: string;
tdLastRow: string;
tdFirstCol: string;
thCellInner: string;
tableRowEdit: string;
cellEditable: string;
cellEditWrap: string;
bordered: string;
striped: string;
hover: string;
loading: string;
rowspanAndColspan: string;
empty: string;
emptyRow: string;
headerFixed: string;
columnFixed: string;
widthOverflow: string;
multipleHeader: string;
footerAffixed: string;
horizontalBarAffixed: string;
affixedHeader: string;
affixedHeaderElm: string;
affixedFooterElm: string;
affixedFooterWrap: string;
scrollbarDivider: string;
fullHeight: string;
resizeLine: string;
obviousScrollbar: string;
affixedHeaderWrap: string;
};
skipSpansMap: import("vue").Ref<Map<string, import("./hooks/useRowspanAndColspan").SkipSpansValue>>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
activeRowKeys?: {
type: PropType<TdBaseTableProps["activeRowKeys"]>;
default: TdBaseTableProps["activeRowKeys"];
};
defaultActiveRowKeys?: {
type: PropType<TdBaseTableProps["defaultActiveRowKeys"]>;
default: () => TdBaseTableProps["defaultActiveRowKeys"];
};
activeRowType?: {
type: PropType<TdBaseTableProps["activeRowType"]>;
default: TdBaseTableProps["activeRowType"];
};
allowResizeColumnWidth?: {
type: BooleanConstructor;
default: any;
};
attach?: {
type: PropType<TdBaseTableProps["attach"]>;
};
bordered?: BooleanConstructor;
bottomContent?: {
type: PropType<TdBaseTableProps["bottomContent"]>;
};
cellEmptyContent?: {
type: PropType<TdBaseTableProps["cellEmptyContent"]>;
};
columns: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]> | {
type: PropType<TdBaseTableProps["columns"]>;
default: () => TdBaseTableProps["columns"];
};
data: PropType<import("./type").TableRowData[]> | {
type: PropType<TdBaseTableProps["data"]>;
default: () => TdBaseTableProps["data"];
};
disableDataPage?: BooleanConstructor;
disableSpaceInactiveRow?: {
type: BooleanConstructor;
default: any;
};
empty?: {
type: PropType<TdBaseTableProps["empty"]>;
default: TdBaseTableProps["empty"];
};
firstFullRow: PropType<string | ((h: typeof import("vue").h) => TNodeReturnValue)> | {
type: PropType<TdBaseTableProps["firstFullRow"]>;
};
fixedRows?: {
type: PropType<TdBaseTableProps["fixedRows"]>;
};
footData?: {
type: PropType<TdBaseTableProps["footData"]>;
default: () => TdBaseTableProps["footData"];
};
footerAffixProps?: {
type: PropType<TdBaseTableProps["footerAffixProps"]>;
};
footerAffixedBottom?: {
type: PropType<TdBaseTableProps["footerAffixedBottom"]>;
default: TdBaseTableProps["footerAffixedBottom"];
};
footerSummary?: {
type: PropType<TdBaseTableProps["footerSummary"]>;
};
headerAffixProps?: {
type: PropType<TdBaseTableProps["headerAffixProps"]>;
};
headerAffixedTop?: {
type: PropType<TdBaseTableProps["headerAffixedTop"]>;
default: TdBaseTableProps["headerAffixedTop"];
};
height?: {
type: PropType<TdBaseTableProps["height"]>;
};
horizontalScrollAffixedBottom?: {
type: PropType<TdBaseTableProps["horizontalScrollAffixedBottom"]>;
};
hover?: BooleanConstructor;
keyboardRowHover?: {
type: BooleanConstructor;
default: boolean;
};
lastFullRow: PropType<string | ((h: typeof import("vue").h) => TNodeReturnValue)> | {
type: PropType<TdBaseTableProps["lastFullRow"]>;
};
lazyLoad?: BooleanConstructor;
loading?: {
type: PropType<TdBaseTableProps["loading"]>;
default: TdBaseTableProps["loading"];
};
loadingProps?: {
type: PropType<TdBaseTableProps["loadingProps"]>;
};
locale?: {
type: PropType<TdBaseTableProps["locale"]>;
};
maxHeight?: {
type: PropType<TdBaseTableProps["maxHeight"]>;
};
pagination?: {
type: PropType<TdBaseTableProps["pagination"]>;
};
paginationAffixedBottom?: {
type: PropType<TdBaseTableProps["paginationAffixedBottom"]>;
};
resizable?: BooleanConstructor;
rowAttributes?: {
type: PropType<TdBaseTableProps["rowAttributes"]>;
};
rowClassName?: {
type: PropType<TdBaseTableProps["rowClassName"]>;
};
rowKey?: {
type: StringConstructor;
default: string;
required: boolean;
};
rowspanAndColspan?: {
type: PropType<TdBaseTableProps["rowspanAndColspan"]>;
};
rowspanAndColspanInFooter?: {
type: PropType<TdBaseTableProps["rowspanAndColspanInFooter"]>;
};
scroll?: {
type: PropType<TdBaseTableProps["scroll"]>;
};
showHeader?: {
type: BooleanConstructor;
default: boolean;
};
size?: {
type: PropType<TdBaseTableProps["size"]>;
validator(val: TdBaseTableProps["size"]): boolean;
};
stripe?: BooleanConstructor;
tableContentWidth?: {
type: StringConstructor;
default: string;
};
tableLayout?: {
type: PropType<TdBaseTableProps["tableLayout"]>;
default: TdBaseTableProps["tableLayout"];
validator(val: TdBaseTableProps["tableLayout"]): boolean;
};
topContent?: {
type: PropType<TdBaseTableProps["topContent"]>;
};
verticalAlign?: {
type: PropType<TdBaseTableProps["verticalAlign"]>;
default: TdBaseTableProps["verticalAlign"];
validator(val: TdBaseTableProps["verticalAlign"]): boolean;
};
onActiveChange?: PropType<TdBaseTableProps["onActiveChange"]>;
onActiveRowAction?: PropType<TdBaseTableProps["onActiveRowAction"]>;
onCellClick?: PropType<TdBaseTableProps["onCellClick"]>;
onColumnResizeChange?: PropType<TdBaseTableProps["onColumnResizeChange"]>;
onPageChange?: PropType<TdBaseTableProps["onPageChange"]>;
onRowClick?: PropType<TdBaseTableProps["onRowClick"]>;
onRowDblclick?: PropType<TdBaseTableProps["onRowDblclick"]>;
onRowMousedown?: PropType<TdBaseTableProps["onRowMousedown"]>;
onRowMouseenter?: PropType<TdBaseTableProps["onRowMouseenter"]>;
onRowMouseleave?: PropType<TdBaseTableProps["onRowMouseleave"]>;
onRowMouseover?: PropType<TdBaseTableProps["onRowMouseover"]>;
onRowMouseup?: PropType<TdBaseTableProps["onRowMouseup"]>;
onScroll?: PropType<TdBaseTableProps["onScroll"]>;
onScrollX?: PropType<TdBaseTableProps["onScrollX"]>;
onScrollY?: PropType<TdBaseTableProps["onScrollY"]>;
classPrefix: StringConstructor;
ellipsisOverlayClassName: StringConstructor;
rowAndColFixedPosition: PropType<TableBodyProps["rowAndColFixedPosition"]>;
showColumnShadow: PropType<TableBodyProps["showColumnShadow"]>;
tableElm: {};
tableWidth: NumberConstructor;
isWidthOverflow: BooleanConstructor;
virtualConfig: PropType<VirtualScrollConfig>;
tableContentElm: {};
handleRowMounted: PropType<TableBodyProps["handleRowMounted"]>;
renderExpandedRow: PropType<TableBodyProps["renderExpandedRow"]>;
activeRow: PropType<Array<string | number>>;
hoverRow: (NumberConstructor | StringConstructor)[];
}>>, {
loading?: boolean | ((h: typeof import("vue").h) => TNodeReturnValue);
empty?: string | ((h: typeof import("vue").h) => TNodeReturnValue);
hover?: boolean;
tableLayout?: "auto" | "fixed";
verticalAlign?: "top" | "middle" | "bottom";
lazyLoad?: boolean;
bordered?: boolean;
stripe?: boolean;
activeRowKeys?: (string | number)[];
defaultActiveRowKeys?: (string | number)[];
activeRowType?: "single" | "multiple";
allowResizeColumnWidth?: boolean;
disableDataPage?: boolean;
disableSpaceInactiveRow?: boolean;
footData?: import("./type").TableRowData[];
footerAffixedBottom?: boolean | Partial<import("..").TdAffixProps>;
headerAffixedTop?: boolean | Partial<import("..").TdAffixProps>;
keyboardRowHover?: boolean;
resizable?: boolean;
rowKey?: string;
showHeader?: boolean;
tableContentWidth?: string;
isWidthOverflow: boolean;
}, {}>;
export default _default;