tdesign-mobile-vue
Version:
tdesign-mobile-vue
40 lines (39 loc) • 1.8 kB
TypeScript
import { ClassName, Styles } from '../../common';
import type { TdBaseTableProps, TableRowData } from '../type';
import type { RowAndColFixedPosition, TableRowFixedClasses, TableColFixedClasses } from '../interface';
export declare function getColumnFixedStyles(col: TdBaseTableProps['columns'][0], index: number, rowAndColFixedPosition: RowAndColFixedPosition, tableColFixedClasses: TableColFixedClasses): {
style?: Styles;
classes?: ClassName;
};
export declare function getRowFixedStyles(rowId: string | number, rowIndex: number, rowLength: number, fixedRows: TdBaseTableProps['fixedRows'], rowAndColFixedPosition: RowAndColFixedPosition, tableRowFixedClasses: TableRowFixedClasses, virtualTranslateY?: number): {
style: Styles;
classes: ClassName;
};
export default function useFixed(props: TdBaseTableProps): {
tableWidth: import("vue").Ref<number>;
tableElmWidth: import("vue").Ref<number>;
thWidthList: import("vue").Ref<{
[colKey: string]: number;
}>;
isFixedHeader: import("vue").Ref<boolean>;
isWidthOverflow: import("vue").Ref<boolean>;
tableContentRef: import("vue").Ref<HTMLDivElement>;
isFixedColumn: import("vue").Ref<boolean>;
showColumnShadow: {
left: boolean;
right: boolean;
};
rowAndColFixedPosition: import("vue").Ref<RowAndColFixedPosition>;
virtualScrollHeaderPos: import("vue").Ref<{
left: number;
top: number;
}>;
setData: (dataSource: TableRowData[]) => void;
refreshTable: () => void;
setTableElmWidth: (width: number) => void;
setUseFixedTableElmRef: (val: HTMLTableElement) => void;
updateColumnFixedShadow: (target: HTMLElement, extra?: {
skipScrollLimit?: boolean;
}) => void;
updateTableAfterColumnResize: () => void;
};