tdesign-vue
Version:
1,068 lines • 443 kB
TypeScript
/// <reference types="sortablejs" />
import './style';
export * from './type';
export * from './interface';
export declare const BaseTable: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
virtualConfig: {
visibleData: import("@vue/composition-api").Ref<any[]>;
translateY: import("@vue/composition-api").Ref<number>;
scrollHeight: import("@vue/composition-api").Ref<number>;
isVirtualScroll: import("@vue/composition-api").ComputedRef<boolean>;
handleScroll: () => void;
handleRowMounted: (rowData: any) => void;
scrollToElement: (p: import("../hooks").ScrollToElementParams) => void;
};
scrollToElement: (params: import("..").ComponentScrollToElementParams) => void;
columnResizable: import("@vue/composition-api").ComputedRef<boolean>;
thList: import("@vue/composition-api").ComputedRef<import("./type").BaseTableCol<import("./type").TableRowData>[][]>;
classPrefix: string;
innerPagination: import("@vue/composition-api").Ref<import("..").TdPaginationProps>;
global: import("@vue/composition-api").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>;
tableSize: import("@vue/composition-api").ComputedRef<import("..").SizeEnum>;
tableFootHeight: import("@vue/composition-api").Ref<number>;
tableWidth: import("@vue/composition-api").Ref<number>;
tableElmWidth: import("@vue/composition-api").Ref<number>;
tableRef: import("@vue/composition-api").Ref<HTMLDivElement>;
tableElmRef: import("@vue/composition-api").Ref<HTMLTableElement>;
sizeClassNames: {
small: string;
medium: string;
large: string;
default: string;
xs: string;
xl: string;
block: string;
};
tableBaseClass: {
table: (string | {
[x: string]: boolean;
})[];
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;
};
spansAndLeafNodes: import("@vue/composition-api").ComputedRef<{
rowspanAndColspanMap: import("./interface").ThRowspanAndColspan;
leafColumns: import("./type").BaseTableCol<import("./type").TableRowData>[];
}>;
dynamicBaseTableClasses: import("@vue/composition-api").ComputedRef<import("..").ClassName[]>;
tableContentStyles: import("@vue/composition-api").ComputedRef<import("..").Styles>;
tableElementStyles: import("@vue/composition-api").ComputedRef<import("..").Styles>;
virtualScrollClasses: {
cursor: string;
header: string;
};
tableLayoutClasses: {
auto: string;
fixed: string;
};
tableElmClasses: import("@vue/composition-api").ComputedRef<string[][]>;
dividerBottom: import("@vue/composition-api").ComputedRef<number>;
tableContentRef: import("@vue/composition-api").Ref<HTMLDivElement>;
isFixedHeader: import("@vue/composition-api").Ref<boolean>;
isWidthOverflow: import("@vue/composition-api").Ref<boolean>;
isFixedColumn: import("@vue/composition-api").Ref<boolean>;
rowAndColFixedPosition: import("@vue/composition-api").Ref<import("./interface").RowAndColFixedPosition>;
showColumnShadow: {
left: boolean;
right: boolean;
};
thWidthList: import("@vue/composition-api").Ref<{
[x: string]: number;
}>;
isPaginateData: import("@vue/composition-api").ComputedRef<boolean>;
dataSource: import("@vue/composition-api").Ref<{
[x: string]: any;
children?: any[];
}[]>;
affixHeaderRef: import("@vue/composition-api").Ref<HTMLDivElement>;
affixFooterRef: import("@vue/composition-api").Ref<HTMLDivElement>;
paginationRef: import("@vue/composition-api").Ref<HTMLDivElement>;
bottomContentRef: import("@vue/composition-api").Ref<HTMLDivElement>;
showAffixHeader: import("@vue/composition-api").Ref<boolean>;
showAffixFooter: import("@vue/composition-api").Ref<boolean>;
scrollbarWidth: import("@vue/composition-api").Ref<number>;
isMultipleHeader: import("@vue/composition-api").ComputedRef<boolean>;
showRightDivider: import("@vue/composition-api").ComputedRef<boolean>;
resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
resizeLineStyle: {
display: string;
height: string;
left: string;
bottom: string;
};
columnResizeParams: {
resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
resizeLineStyle: {
display: string;
height: string;
left: string;
bottom: string;
};
onColumnMouseover: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
onColumnMousedown: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>, index: number) => void;
setEffectColMap: (nodes: import("./type").BaseTableCol<import("./type").TableRowData>[], parent: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
};
horizontalScrollbarRef: import("@vue/composition-api").Ref<HTMLDivElement>;
tableBodyRef: import("@vue/composition-api").Ref<HTMLTableElement>;
showAffixPagination: import("@vue/composition-api").Ref<boolean>;
tActiveRow: import("@vue/composition-api").Ref<(string | number)[]>;
hoverRow: import("@vue/composition-api").Ref<string | number>;
showElement: import("@vue/composition-api").Ref<boolean>;
getListener: () => import("./base-table").TableListeners;
renderPagination: (h: import("vue").CreateElement) => JSX.Element;
onFixedChange: () => void;
onHorizontalScroll: (scrollElement?: HTMLElement) => void;
updateAffixHeaderOrFooter: () => void;
refreshTable: () => void;
onInnerVirtualScroll: (e: WheelEvent) => void;
scrollColumnIntoView: (colKey: string) => void;
onTableFocus: () => void;
onTableBlur: () => void;
onInnerRowClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
paginationAffixRef: import("@vue/composition-api").Ref<any>;
horizontalScrollAffixRef: import("@vue/composition-api").Ref<any>;
headerTopAffixRef: import("@vue/composition-api").Ref<any>;
footerBottomAffixRef: import("@vue/composition-api").Ref<any>;
isIE: import("@vue/composition-api").ComputedRef<boolean>;
tableRefTabIndex: import("@vue/composition-api").Ref<number>;
}> & import("@vue/composition-api").Data, {
renderColGroup(columns: import("./type").BaseTableCol<import("./type").TableRowData>[], isAffixHeader?: boolean): JSX.Element;
getHeadProps(isAffixHeader?: boolean): {
isFixedHeader: boolean;
showColumnShadow: {
left: boolean;
right: boolean;
};
thDraggable: boolean;
rowAndColFixedPosition: import("./interface").RowAndColFixedPosition;
isMultipleHeader: boolean;
bordered: boolean;
maxHeight: string | number;
height: string | number;
spansAndLeafNodes: {
rowspanAndColspanMap: import("./interface").ThRowspanAndColspan;
leafColumns: import("./type").BaseTableCol<import("./type").TableRowData>[];
};
thList: import("./type").BaseTableCol<import("./type").TableRowData>[][];
thWidthList: {
[x: string]: number;
};
resizable: boolean;
columnResizeParams: {
resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
resizeLineStyle: {
display: string;
height: string;
left: string;
bottom: string;
};
onColumnMouseover: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
onColumnMousedown: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>, index: number) => void;
setEffectColMap: (nodes: import("./type").BaseTableCol<import("./type").TableRowData>[], parent: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
};
classPrefix: string;
ellipsisOverlayClassName: string;
attach: import("..").AttachNode;
};
renderFixedHeader(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]): JSX.Element;
renderAffixedFooter(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]): JSX.Element;
renderAffixedHeader(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]): JSX.Element;
}, {}, {
renderExpandedRow: import("@vue/composition-api").PropType<(h: import("vue").CreateElement, params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => JSX.Element>;
onLeafColumnsChange: import("@vue/composition-api").PropType<(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]) => void>;
thDraggable: BooleanConstructor;
activeRowKeys: {
type: import("vue").PropType<(string | number)[]>;
default: () => (string | number)[];
};
defaultActiveRowKeys: {
type: import("vue").PropType<(string | number)[]>;
default: () => (string | number)[];
};
activeRowType: {
type: import("vue").PropType<"multiple" | "single">;
default: string;
};
allowResizeColumnWidth: {
type: BooleanConstructor;
default: any;
};
attach: {
type: import("vue").PropType<import("..").AttachNode>;
};
bordered: BooleanConstructor;
bottomContent: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
cellEmptyContent: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
columns: {
type: import("vue").PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
default: () => import("./type").BaseTableCol<import("./type").TableRowData>[];
};
data: {
type: import("vue").PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
disableDataPage: BooleanConstructor;
disableSpaceInactiveRow: {
type: BooleanConstructor;
default: any;
};
empty: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: string;
};
firstFullRow: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
fixedRows: {
type: import("vue").PropType<number[]>;
};
footData: {
type: import("vue").PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
footerAffixProps: {
type: import("vue").PropType<Partial<import("..").TdAffixProps>>;
};
footerAffixedBottom: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean;
};
footerSummary: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
headerAffixProps: {
type: import("vue").PropType<Partial<import("..").TdAffixProps>>;
};
headerAffixedTop: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean;
};
height: {
type: import("vue").PropType<string | number>;
};
horizontalScrollAffixedBottom: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
};
hover: BooleanConstructor;
keyboardRowHover: {
type: BooleanConstructor;
default: boolean;
};
lastFullRow: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
lazyLoad: BooleanConstructor;
loading: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: any;
};
loadingProps: {
type: import("vue").PropType<Partial<import("..").TdLoadingProps>>;
};
locale: {
type: import("vue").PropType<import("..").TableConfig>;
};
maxHeight: {
type: import("vue").PropType<string | number>;
};
pagination: {
type: import("vue").PropType<import("..").TdPaginationProps>;
};
paginationAffixedBottom: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
};
resizable: BooleanConstructor;
rowAttributes: {
type: import("vue").PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
};
rowClassName: {
type: import("vue").PropType<import("..").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("..").ClassName)>;
};
rowKey: {
type: StringConstructor;
default: string;
required: boolean;
};
rowspanAndColspan: {
type: import("vue").PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
rowspanAndColspanInFooter: {
type: import("vue").PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
scroll: {
type: import("vue").PropType<import("..").TScroll>;
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
size: {
type: import("vue").PropType<import("..").SizeEnum>;
validator(val: import("..").SizeEnum): boolean;
};
stripe: BooleanConstructor;
tableContentWidth: {
type: StringConstructor;
default: string;
};
tableLayout: {
type: import("vue").PropType<"fixed" | "auto">;
default: "fixed" | "auto";
validator(val: "fixed" | "auto"): boolean;
};
topContent: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
verticalAlign: {
type: import("vue").PropType<"top" | "bottom" | "middle">;
default: "top" | "bottom" | "middle";
validator(val: "top" | "bottom" | "middle"): boolean;
};
onActiveChange: import("vue").PropType<(activeRowKeys: (string | number)[], context: import("./type").ActiveChangeContext<import("./type").TableRowData>) => void>;
onActiveRowAction: import("vue").PropType<(context: import("./type").ActiveRowActionContext<import("./type").TableRowData>) => void>;
onCellClick: import("vue").PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
onColumnResizeChange: import("vue").PropType<(context: {
columnsWidth: {
[colKey: string]: number;
};
}) => void>;
onPageChange: import("vue").PropType<(pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
onRowClick: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowDblclick: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMousedown: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseenter: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseleave: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseover: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseup: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onScroll: import("vue").PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollX: import("vue").PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollY: import("vue").PropType<(params: {
e: WheelEvent;
}) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
renderExpandedRow: import("@vue/composition-api").PropType<(h: import("vue").CreateElement, params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => JSX.Element>;
onLeafColumnsChange: import("@vue/composition-api").PropType<(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]) => void>;
thDraggable: BooleanConstructor;
activeRowKeys: {
type: import("vue").PropType<(string | number)[]>;
default: () => (string | number)[];
};
defaultActiveRowKeys: {
type: import("vue").PropType<(string | number)[]>;
default: () => (string | number)[];
};
activeRowType: {
type: import("vue").PropType<"multiple" | "single">;
default: string;
};
allowResizeColumnWidth: {
type: BooleanConstructor;
default: any;
};
attach: {
type: import("vue").PropType<import("..").AttachNode>;
};
bordered: BooleanConstructor;
bottomContent: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
cellEmptyContent: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
columns: {
type: import("vue").PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
default: () => import("./type").BaseTableCol<import("./type").TableRowData>[];
};
data: {
type: import("vue").PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
disableDataPage: BooleanConstructor;
disableSpaceInactiveRow: {
type: BooleanConstructor;
default: any;
};
empty: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: string;
};
firstFullRow: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
fixedRows: {
type: import("vue").PropType<number[]>;
};
footData: {
type: import("vue").PropType<import("./type").TableRowData[]>;
default: () => import("./type").TableRowData[];
};
footerAffixProps: {
type: import("vue").PropType<Partial<import("..").TdAffixProps>>;
};
footerAffixedBottom: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean;
};
footerSummary: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
headerAffixProps: {
type: import("vue").PropType<Partial<import("..").TdAffixProps>>;
};
headerAffixedTop: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
default: boolean;
};
height: {
type: import("vue").PropType<string | number>;
};
horizontalScrollAffixedBottom: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
};
hover: BooleanConstructor;
keyboardRowHover: {
type: BooleanConstructor;
default: boolean;
};
lastFullRow: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
lazyLoad: BooleanConstructor;
loading: {
type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
default: any;
};
loadingProps: {
type: import("vue").PropType<Partial<import("..").TdLoadingProps>>;
};
locale: {
type: import("vue").PropType<import("..").TableConfig>;
};
maxHeight: {
type: import("vue").PropType<string | number>;
};
pagination: {
type: import("vue").PropType<import("..").TdPaginationProps>;
};
paginationAffixedBottom: {
type: import("vue").PropType<boolean | Partial<import("..").TdAffixProps>>;
};
resizable: BooleanConstructor;
rowAttributes: {
type: import("vue").PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
};
rowClassName: {
type: import("vue").PropType<import("..").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("..").ClassName)>;
};
rowKey: {
type: StringConstructor;
default: string;
required: boolean;
};
rowspanAndColspan: {
type: import("vue").PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
rowspanAndColspanInFooter: {
type: import("vue").PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
};
scroll: {
type: import("vue").PropType<import("..").TScroll>;
};
showHeader: {
type: BooleanConstructor;
default: boolean;
};
size: {
type: import("vue").PropType<import("..").SizeEnum>;
validator(val: import("..").SizeEnum): boolean;
};
stripe: BooleanConstructor;
tableContentWidth: {
type: StringConstructor;
default: string;
};
tableLayout: {
type: import("vue").PropType<"fixed" | "auto">;
default: "fixed" | "auto";
validator(val: "fixed" | "auto"): boolean;
};
topContent: {
type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
};
verticalAlign: {
type: import("vue").PropType<"top" | "bottom" | "middle">;
default: "top" | "bottom" | "middle";
validator(val: "top" | "bottom" | "middle"): boolean;
};
onActiveChange: import("vue").PropType<(activeRowKeys: (string | number)[], context: import("./type").ActiveChangeContext<import("./type").TableRowData>) => void>;
onActiveRowAction: import("vue").PropType<(context: import("./type").ActiveRowActionContext<import("./type").TableRowData>) => void>;
onCellClick: import("vue").PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
onColumnResizeChange: import("vue").PropType<(context: {
columnsWidth: {
[colKey: string]: number;
};
}) => void>;
onPageChange: import("vue").PropType<(pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
onRowClick: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowDblclick: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMousedown: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseenter: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseleave: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseover: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onRowMouseup: import("vue").PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
onScroll: import("vue").PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollX: import("vue").PropType<(params: {
e: WheelEvent;
}) => void>;
onScrollY: import("vue").PropType<(params: {
e: WheelEvent;
}) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
data: import("./type").TableRowData[];
columns: import("./type").BaseTableCol<import("./type").TableRowData>[];
tableLayout: "fixed" | "auto";
verticalAlign: "top" | "bottom" | "middle";
loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
hover: boolean;
lazyLoad: boolean;
bordered: boolean;
showHeader: boolean;
stripe: boolean;
activeRowKeys: (string | number)[];
defaultActiveRowKeys: (string | number)[];
activeRowType: "multiple" | "single";
allowResizeColumnWidth: boolean;
disableDataPage: boolean;
disableSpaceInactiveRow: boolean;
footData: import("./type").TableRowData[];
footerAffixedBottom: boolean;
headerAffixedTop: boolean;
keyboardRowHover: boolean;
resizable: boolean;
rowKey: string;
tableContentWidth: string;
thDraggable: boolean;
} & {
height?: string | number;
maxHeight?: string | number;
scroll?: import("..").TScroll;
size?: import("..").SizeEnum;
attach?: import("..").AttachNode;
pagination?: unknown;
onScroll?: (params: {
e: WheelEvent;
}) => void;
onCellClick?: (context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void;
onPageChange?: (pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void;
loadingProps?: unknown;
bottomContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
cellEmptyContent?: string | ((h: import("vue").CreateElement, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
firstFullRow?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
fixedRows?: number[];
footerAffixProps?: unknown;
footerSummary?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
headerAffixProps?: unknown;
horizontalScrollAffixedBottom?: unknown;
lastFullRow?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
locale?: unknown;
paginationAffixedBottom?: unknown;
rowAttributes?: import("./type").TableRowAttributes<import("./type").TableRowData>;
rowClassName?: unknown;
rowspanAndColspan?: import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>;
rowspanAndColspanInFooter?: import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>;
topContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
onActiveChange?: (activeRowKeys: (string | number)[], context: import("./type").ActiveChangeContext<import("./type").TableRowData>) => void;
onActiveRowAction?: (context: import("./type").ActiveRowActionContext<import("./type").TableRowData>) => void;
onColumnResizeChange?: (context: {
columnsWidth: {
[colKey: string]: number;
};
}) => void;
onRowClick?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowDblclick?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMousedown?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseenter?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseleave?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseover?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseup?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onScrollX?: (params: {
e: WheelEvent;
}) => void;
onScrollY?: (params: {
e: WheelEvent;
}) => void;
renderExpandedRow?: (h: import("vue").CreateElement, params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => JSX.Element;
onLeafColumnsChange?: (columns: import("./type").BaseTableCol<import("./type").TableRowData>[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
virtualConfig: {
visibleData: import("@vue/composition-api").Ref<any[]>;
translateY: import("@vue/composition-api").Ref<number>;
scrollHeight: import("@vue/composition-api").Ref<number>;
isVirtualScroll: import("@vue/composition-api").ComputedRef<boolean>;
handleScroll: () => void;
handleRowMounted: (rowData: any) => void;
scrollToElement: (p: import("../hooks").ScrollToElementParams) => void;
};
scrollToElement: (params: import("..").ComponentScrollToElementParams) => void;
columnResizable: import("@vue/composition-api").ComputedRef<boolean>;
thList: import("@vue/composition-api").ComputedRef<import("./type").BaseTableCol<import("./type").TableRowData>[][]>;
classPrefix: string;
innerPagination: import("@vue/composition-api").Ref<import("..").TdPaginationProps>;
global: import("@vue/composition-api").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>;
tableSize: import("@vue/composition-api").ComputedRef<import("..").SizeEnum>;
tableFootHeight: import("@vue/composition-api").Ref<number>;
tableWidth: import("@vue/composition-api").Ref<number>;
tableElmWidth: import("@vue/composition-api").Ref<number>;
tableRef: import("@vue/composition-api").Ref<HTMLDivElement>;
tableElmRef: import("@vue/composition-api").Ref<HTMLTableElement>;
sizeClassNames: {
small: string;
medium: string;
large: string;
default: string;
xs: string;
xl: string;
block: string;
};
tableBaseClass: {
table: (string | {
[x: string]: boolean;
})[];
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;
};
spansAndLeafNodes: import("@vue/composition-api").ComputedRef<{
rowspanAndColspanMap: import("./interface").ThRowspanAndColspan;
leafColumns: import("./type").BaseTableCol<import("./type").TableRowData>[];
}>;
dynamicBaseTableClasses: import("@vue/composition-api").ComputedRef<import("..").ClassName[]>;
tableContentStyles: import("@vue/composition-api").ComputedRef<import("..").Styles>;
tableElementStyles: import("@vue/composition-api").ComputedRef<import("..").Styles>;
virtualScrollClasses: {
cursor: string;
header: string;
};
tableLayoutClasses: {
auto: string;
fixed: string;
};
tableElmClasses: import("@vue/composition-api").ComputedRef<string[][]>;
dividerBottom: import("@vue/composition-api").ComputedRef<number>;
tableContentRef: import("@vue/composition-api").Ref<HTMLDivElement>;
isFixedHeader: import("@vue/composition-api").Ref<boolean>;
isWidthOverflow: import("@vue/composition-api").Ref<boolean>;
isFixedColumn: import("@vue/composition-api").Ref<boolean>;
rowAndColFixedPosition: import("@vue/composition-api").Ref<import("./interface").RowAndColFixedPosition>;
showColumnShadow: {
left: boolean;
right: boolean;
};
thWidthList: import("@vue/composition-api").Ref<{
[x: string]: number;
}>;
isPaginateData: import("@vue/composition-api").ComputedRef<boolean>;
dataSource: import("@vue/composition-api").Ref<{
[x: string]: any;
children?: any[];
}[]>;
affixHeaderRef: import("@vue/composition-api").Ref<HTMLDivElement>;
affixFooterRef: import("@vue/composition-api").Ref<HTMLDivElement>;
paginationRef: import("@vue/composition-api").Ref<HTMLDivElement>;
bottomContentRef: import("@vue/composition-api").Ref<HTMLDivElement>;
showAffixHeader: import("@vue/composition-api").Ref<boolean>;
showAffixFooter: import("@vue/composition-api").Ref<boolean>;
scrollbarWidth: import("@vue/composition-api").Ref<number>;
isMultipleHeader: import("@vue/composition-api").ComputedRef<boolean>;
showRightDivider: import("@vue/composition-api").ComputedRef<boolean>;
resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
resizeLineStyle: {
display: string;
height: string;
left: string;
bottom: string;
};
columnResizeParams: {
resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
resizeLineStyle: {
display: string;
height: string;
left: string;
bottom: string;
};
onColumnMouseover: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
onColumnMousedown: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>, index: number) => void;
setEffectColMap: (nodes: import("./type").BaseTableCol<import("./type").TableRowData>[], parent: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
};
horizontalScrollbarRef: import("@vue/composition-api").Ref<HTMLDivElement>;
tableBodyRef: import("@vue/composition-api").Ref<HTMLTableElement>;
showAffixPagination: import("@vue/composition-api").Ref<boolean>;
tActiveRow: import("@vue/composition-api").Ref<(string | number)[]>;
hoverRow: import("@vue/composition-api").Ref<string | number>;
showElement: import("@vue/composition-api").Ref<boolean>;
getListener: () => import("./base-table").TableListeners;
renderPagination: (h: import("vue").CreateElement) => JSX.Element;
onFixedChange: () => void;
onHorizontalScroll: (scrollElement?: HTMLElement) => void;
updateAffixHeaderOrFooter: () => void;
refreshTable: () => void;
onInnerVirtualScroll: (e: WheelEvent) => void;
scrollColumnIntoView: (colKey: string) => void;
onTableFocus: () => void;
onTableBlur: () => void;
onInnerRowClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
paginationAffixRef: import("@vue/composition-api").Ref<any>;
horizontalScrollAffixRef: import("@vue/composition-api").Ref<any>;
headerTopAffixRef: import("@vue/composition-api").Ref<any>;
footerBottomAffixRef: import("@vue/composition-api").Ref<any>;
isIE: import("@vue/composition-api").ComputedRef<boolean>;
tableRefTabIndex: import("@vue/composition-api").Ref<number>;
}>, import("@vue/composition-api").Data, {}, {
renderColGroup(columns: import("./type").BaseTableCol<import("./type").TableRowData>[], isAffixHeader?: boolean): JSX.Element;
getHeadProps(isAffixHeader?: boolean): {
isFixedHeader: boolean;
showColumnShadow: {
left: boolean;
right: boolean;
};
thDraggable: boolean;
rowAndColFixedPosition: import("./interface").RowAndColFixedPosition;
isMultipleHeader: boolean;
bordered: boolean;
maxHeight: string | number;
height: string | number;
spansAndLeafNodes: {
rowspanAndColspanMap: import("./interface").ThRowspanAndColspan;
leafColumns: import("./type").BaseTableCol<import("./type").TableRowData>[];
};
thList: import("./type").BaseTableCol<import("./type").TableRowData>[][];
thWidthList: {
[x: string]: number;
};
resizable: boolean;
columnResizeParams: {
resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
resizeLineStyle: {
display: string;
height: string;
left: string;
bottom: string;
};
onColumnMouseover: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
onColumnMousedown: (e: MouseEvent, col: import("./type").BaseTableCol<import("./type").TableRowData>, index: number) => void;
setEffectColMap: (nodes: import("./type").BaseTableCol<import("./type").TableRowData>[], parent: import("./type").BaseTableCol<import("./type").TableRowData>) => void;
};
classPrefix: string;
ellipsisOverlayClassName: string;
attach: import("..").AttachNode;
};
renderFixedHeader(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]): JSX.Element;
renderAffixedFooter(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]): JSX.Element;
renderAffixedHeader(columns: import("./type").BaseTableCol<import("./type").TableRowData>[]): JSX.Element;
}, {}, {}, {}, {
data: import("./type").TableRowData[];
columns: import("./type").BaseTableCol<import("./type").TableRowData>[];
tableLayout: "fixed" | "auto";
verticalAlign: "top" | "bottom" | "middle";
loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
hover: boolean;
lazyLoad: boolean;
bordered: boolean;
showHeader: boolean;
stripe: boolean;
activeRowKeys: (string | number)[];
defaultActiveRowKeys: (string | number)[];
activeRowType: "multiple" | "single";
allowResizeColumnWidth: boolean;
disableDataPage: boolean;
disableSpaceInactiveRow: boolean;
footData: import("./type").TableRowData[];
footerAffixedBottom: boolean;
headerAffixedTop: boolean;
keyboardRowHover: boolean;
resizable: boolean;
rowKey: string;
tableContentWidth: string;
thDraggable: boolean;
} & {
height?: string | number;
maxHeight?: string | number;
scroll?: import("..").TScroll;
size?: import("..").SizeEnum;
attach?: import("..").AttachNode;
pagination?: unknown;
onScroll?: (params: {
e: WheelEvent;
}) => void;
onCellClick?: (context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void;
onPageChange?: (pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void;
loadingProps?: unknown;
bottomContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
cellEmptyContent?: string | ((h: import("vue").CreateElement, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
firstFullRow?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
fixedRows?: number[];
footerAffixProps?: unknown;
footerSummary?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
headerAffixProps?: unknown;
horizontalScrollAffixedBottom?: unknown;
lastFullRow?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
locale?: unknown;
paginationAffixedBottom?: unknown;
rowAttributes?: import("./type").TableRowAttributes<import("./type").TableRowData>;
rowClassName?: unknown;
rowspanAndColspan?: import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>;
rowspanAndColspanInFooter?: import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>;
topContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
onActiveChange?: (activeRowKeys: (string | number)[], context: import("./type").ActiveChangeContext<import("./type").TableRowData>) => void;
onActiveRowAction?: (context: import("./type").ActiveRowActionContext<import("./type").TableRowData>) => void;
onColumnResizeChange?: (context: {
columnsWidth: {
[colKey: string]: number;
};
}) => void;
onRowClick?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowDblclick?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMousedown?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseenter?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseleave?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseover?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onRowMouseup?: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
onScrollX?: (params: {
e: WheelEvent;
}) => void;
onScrollY?: (params: {
e: WheelEvent;
}) => void;
renderExpandedRow?: (h: import("vue").CreateElement, params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => JSX.Element;
onLeafColumnsChange?: (columns: import("./type").BaseTableCol<import("./type").TableRowData>[]) => void;
}, {
data: import("./type").TableRowData[];
columns: import("./type").BaseTableCol<import("./type").TableRowData>[];
tableLayout: "fixed" | "auto";
verticalAlign: "top" | "bottom" | "middle";
loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
hover: boolean;
lazyLoad: boolean;
bordered: boolean;
showHeader: boolean;
stripe: boolean;
activeRowKeys: (string | number)[];
defaultActiveRowKeys: (string | number)[];
activeRowType: "multiple" | "single";
allowResizeColumnWidth: boolean;
disableDataPage: boolean;
disableSpaceInactiveRow: boolean;
footData: import("./type").TableRowData[];
footerAffixedBottom: boolean;
headerAffixedTop: boolean;
keyboardRowHover: boolean;
resizable: boolean;
rowKey: string;
tableContentWidth: string;
thDraggable: boolean;
}, true>) & import("vue").PluginObject<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
virtualConfig: {
visibleData: import("@vue/composition-api").Ref<any[]>;
translateY: import("@vue/composition-api").Ref<number>;
scrollHeight: import("@vue/composition-api").Ref<number>;
isVirtualScroll: import("@vue/composition-api").ComputedRef<boolean>;
handleScroll: () => void;
handleRowMounted: (rowData: any) => void;
scrollToElement: (p: import("../hooks").ScrollToElementParams) => void;
};
scrollToElement: (params: import("..").ComponentScrollToElementParams) => void;
columnResizable: import("@vue/composition-api").ComputedRef<boolean>;
thList: import("@vue/composition-api").ComputedRef<import("./type").BaseTableCol<import("./type").TableRowData>[][]>;
classPrefix: string;
innerPagination: import("@vue/composition-api").Ref<import("..").TdPaginationProps>;
global: import("@vue/composition-api").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>;
tableSize: import("@vue/composition-api").ComputedRef<import("..").SizeEnum>;
tableFootHeight: import("@vue/composition-api").Ref<number>;
tableWidth: import("@vue/composition-api").Ref<number>;
tableElmWidth: import("@vue/composition-api").Ref<number>;
tableRef: import("@vue/composition-api").Ref<HTMLDivElement>;
tableElmRef: import("@vue/composition-api").Ref<HTMLTableElement>;
sizeClassNames: {
small: string;
medium: string;
large: string;
default: string;
xs: string;
xl: string;
block: string;
};
tableBaseClass: {
table: (string | {
[x: string]: boolean;
})[];
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;
headerFix