2dec773574bd807f9793b0889301382f27801d8ecad66b90ef6c711b0084da09c856724d62234ea62e2eae9742e4e94e1a5caa366448037b95e775cd108620 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. import type { CSSProperties } from 'vue';
  2. import type { ScrollStrategy } from './composables/use-scrollbar';
  3. import type { KeyType } from './types';
  4. declare const TableV2: import("vue").DefineComponent<{
  5. readonly cache: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 2, false>;
  6. readonly estimatedRowHeight: {
  7. readonly default: undefined;
  8. readonly type: import("vue").PropType<number>;
  9. readonly required: false;
  10. readonly validator: ((val: unknown) => boolean) | undefined;
  11. readonly __epPropKey: true;
  12. };
  13. readonly rowKey: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | ((new (...args: any[]) => string | number | symbol) | (() => KeyType))[], unknown, unknown, "id", boolean>;
  14. readonly headerClass: {
  15. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("./table").HeaderClassNameGetter<any>) | (() => string | import("./table").HeaderClassNameGetter<any>) | ((new (...args: any[]) => string | import("./table").HeaderClassNameGetter<any>) | (() => string | import("./table").HeaderClassNameGetter<any>))[], unknown, unknown>>;
  16. readonly required: false;
  17. readonly validator: ((val: unknown) => boolean) | undefined;
  18. __epPropKey: true;
  19. };
  20. readonly headerProps: {
  21. readonly type: import("vue").PropType<any>;
  22. readonly required: false;
  23. readonly validator: ((val: unknown) => boolean) | undefined;
  24. __epPropKey: true;
  25. };
  26. readonly headerCellProps: {
  27. readonly type: import("vue").PropType<any>;
  28. readonly required: false;
  29. readonly validator: ((val: unknown) => boolean) | undefined;
  30. __epPropKey: true;
  31. };
  32. readonly headerHeight: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | number[]) | (() => number | number[]) | ((new (...args: any[]) => number | number[]) | (() => number | number[]))[], unknown, unknown, 50, boolean>;
  33. readonly footerHeight: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
  34. readonly rowClass: {
  35. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("./table").RowClassNameGetter<any>) | (() => string | import("./table").RowClassNameGetter<any>) | ((new (...args: any[]) => string | import("./table").RowClassNameGetter<any>) | (() => string | import("./table").RowClassNameGetter<any>))[], unknown, unknown>>;
  36. readonly required: false;
  37. readonly validator: ((val: unknown) => boolean) | undefined;
  38. __epPropKey: true;
  39. };
  40. readonly rowProps: {
  41. readonly type: import("vue").PropType<any>;
  42. readonly required: false;
  43. readonly validator: ((val: unknown) => boolean) | undefined;
  44. __epPropKey: true;
  45. };
  46. readonly rowHeight: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 50, boolean>;
  47. readonly cellProps: {
  48. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => Record<string, any> | import("./table").ExtraCellPropGetter<any>) | (() => Record<string, any> | import("./table").ExtraCellPropGetter<any>) | ((new (...args: any[]) => Record<string, any> | import("./table").ExtraCellPropGetter<any>) | (() => Record<string, any> | import("./table").ExtraCellPropGetter<any>))[], unknown, unknown>>;
  49. readonly required: false;
  50. readonly validator: ((val: unknown) => boolean) | undefined;
  51. __epPropKey: true;
  52. };
  53. readonly columns: {
  54. readonly type: import("vue").PropType<import("./common").AnyColumn[]>;
  55. readonly required: true;
  56. readonly validator: ((val: unknown) => boolean) | undefined;
  57. __epPropKey: true;
  58. };
  59. readonly data: {
  60. readonly type: import("vue").PropType<any[]>;
  61. readonly required: true;
  62. readonly validator: ((val: unknown) => boolean) | undefined;
  63. __epPropKey: true;
  64. };
  65. readonly dataGetter: {
  66. readonly type: import("vue").PropType<import("./types").DataGetter<any>>;
  67. readonly required: false;
  68. readonly validator: ((val: unknown) => boolean) | undefined;
  69. __epPropKey: true;
  70. };
  71. readonly fixedData: {
  72. readonly type: import("vue").PropType<any[]>;
  73. readonly required: false;
  74. readonly validator: ((val: unknown) => boolean) | undefined;
  75. __epPropKey: true;
  76. };
  77. readonly expandColumnKey: StringConstructor;
  78. readonly expandedRowKeys: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | ((new (...args: any[]) => KeyType[]) | (() => KeyType[]))[], unknown, unknown, () => never[], boolean>;
  79. readonly defaultExpandedRowKeys: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | ((new (...args: any[]) => KeyType[]) | (() => KeyType[]))[], unknown, unknown, () => never[], boolean>;
  80. readonly class: StringConstructor;
  81. readonly fixed: BooleanConstructor;
  82. readonly style: {
  83. readonly type: import("vue").PropType<CSSProperties>;
  84. readonly required: false;
  85. readonly validator: ((val: unknown) => boolean) | undefined;
  86. __epPropKey: true;
  87. };
  88. readonly width: {
  89. readonly type: import("vue").PropType<number>;
  90. readonly required: true;
  91. readonly validator: ((val: unknown) => boolean) | undefined;
  92. __epPropKey: true;
  93. };
  94. readonly height: {
  95. readonly type: import("vue").PropType<number>;
  96. readonly required: true;
  97. readonly validator: ((val: unknown) => boolean) | undefined;
  98. __epPropKey: true;
  99. };
  100. readonly maxHeight: NumberConstructor;
  101. readonly useIsScrolling: BooleanConstructor;
  102. readonly indentSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  103. readonly iconSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  104. readonly hScrollbarSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  105. readonly vScrollbarSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  106. readonly scrollbarAlwaysOn: BooleanConstructor;
  107. readonly sortBy: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./types").SortBy) | (() => import("./types").SortBy) | ((new (...args: any[]) => import("./types").SortBy) | (() => import("./types").SortBy))[], unknown, unknown, () => {
  108. key: KeyType;
  109. order: import("element-plus").TableV2SortOrder;
  110. }, boolean>;
  111. readonly sortState: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./types").SortState) | (() => import("./types").SortState) | ((new (...args: any[]) => import("./types").SortState) | (() => import("./types").SortState))[], unknown, unknown, undefined, boolean>;
  112. readonly onColumnSort: {
  113. readonly type: import("vue").PropType<import("./table").ColumnSortHandler<any>>;
  114. readonly required: false;
  115. readonly validator: ((val: unknown) => boolean) | undefined;
  116. __epPropKey: true;
  117. };
  118. readonly onExpandedRowsChange: {
  119. readonly type: import("vue").PropType<import("./table").ExpandedRowsChangeHandler>;
  120. readonly required: false;
  121. readonly validator: ((val: unknown) => boolean) | undefined;
  122. __epPropKey: true;
  123. };
  124. readonly onEndReached: {
  125. readonly type: import("vue").PropType<(remainDistance: number) => void>;
  126. readonly required: false;
  127. readonly validator: ((val: unknown) => boolean) | undefined;
  128. __epPropKey: true;
  129. };
  130. readonly onRowExpand: {
  131. readonly type: import("vue").PropType<import("element-plus").RowExpandHandler>;
  132. readonly required: false;
  133. readonly validator: ((val: unknown) => boolean) | undefined;
  134. __epPropKey: true;
  135. };
  136. readonly onScroll: {
  137. readonly type: import("vue").PropType<(...args: any[]) => void>;
  138. readonly required: false;
  139. readonly validator: ((val: unknown) => boolean) | undefined;
  140. __epPropKey: true;
  141. };
  142. readonly onRowsRendered: {
  143. readonly type: import("vue").PropType<(params: import("./grid").onRowRenderedParams) => void>;
  144. readonly required: false;
  145. readonly validator: ((val: unknown) => boolean) | undefined;
  146. __epPropKey: true;
  147. };
  148. readonly rowEventHandlers: {
  149. readonly type: import("vue").PropType<import("element-plus").RowEventHandlers>;
  150. readonly required: false;
  151. readonly validator: ((val: unknown) => boolean) | undefined;
  152. __epPropKey: true;
  153. };
  154. }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
  155. readonly cache: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, never, never, 2, false>;
  156. readonly estimatedRowHeight: {
  157. readonly default: undefined;
  158. readonly type: import("vue").PropType<number>;
  159. readonly required: false;
  160. readonly validator: ((val: unknown) => boolean) | undefined;
  161. readonly __epPropKey: true;
  162. };
  163. readonly rowKey: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | ((new (...args: any[]) => string | number | symbol) | (() => KeyType))[], unknown, unknown, "id", boolean>;
  164. readonly headerClass: {
  165. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("./table").HeaderClassNameGetter<any>) | (() => string | import("./table").HeaderClassNameGetter<any>) | ((new (...args: any[]) => string | import("./table").HeaderClassNameGetter<any>) | (() => string | import("./table").HeaderClassNameGetter<any>))[], unknown, unknown>>;
  166. readonly required: false;
  167. readonly validator: ((val: unknown) => boolean) | undefined;
  168. __epPropKey: true;
  169. };
  170. readonly headerProps: {
  171. readonly type: import("vue").PropType<any>;
  172. readonly required: false;
  173. readonly validator: ((val: unknown) => boolean) | undefined;
  174. __epPropKey: true;
  175. };
  176. readonly headerCellProps: {
  177. readonly type: import("vue").PropType<any>;
  178. readonly required: false;
  179. readonly validator: ((val: unknown) => boolean) | undefined;
  180. __epPropKey: true;
  181. };
  182. readonly headerHeight: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number | number[]) | (() => number | number[]) | ((new (...args: any[]) => number | number[]) | (() => number | number[]))[], unknown, unknown, 50, boolean>;
  183. readonly footerHeight: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
  184. readonly rowClass: {
  185. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("./table").RowClassNameGetter<any>) | (() => string | import("./table").RowClassNameGetter<any>) | ((new (...args: any[]) => string | import("./table").RowClassNameGetter<any>) | (() => string | import("./table").RowClassNameGetter<any>))[], unknown, unknown>>;
  186. readonly required: false;
  187. readonly validator: ((val: unknown) => boolean) | undefined;
  188. __epPropKey: true;
  189. };
  190. readonly rowProps: {
  191. readonly type: import("vue").PropType<any>;
  192. readonly required: false;
  193. readonly validator: ((val: unknown) => boolean) | undefined;
  194. __epPropKey: true;
  195. };
  196. readonly rowHeight: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 50, boolean>;
  197. readonly cellProps: {
  198. readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => Record<string, any> | import("./table").ExtraCellPropGetter<any>) | (() => Record<string, any> | import("./table").ExtraCellPropGetter<any>) | ((new (...args: any[]) => Record<string, any> | import("./table").ExtraCellPropGetter<any>) | (() => Record<string, any> | import("./table").ExtraCellPropGetter<any>))[], unknown, unknown>>;
  199. readonly required: false;
  200. readonly validator: ((val: unknown) => boolean) | undefined;
  201. __epPropKey: true;
  202. };
  203. readonly columns: {
  204. readonly type: import("vue").PropType<import("./common").AnyColumn[]>;
  205. readonly required: true;
  206. readonly validator: ((val: unknown) => boolean) | undefined;
  207. __epPropKey: true;
  208. };
  209. readonly data: {
  210. readonly type: import("vue").PropType<any[]>;
  211. readonly required: true;
  212. readonly validator: ((val: unknown) => boolean) | undefined;
  213. __epPropKey: true;
  214. };
  215. readonly dataGetter: {
  216. readonly type: import("vue").PropType<import("./types").DataGetter<any>>;
  217. readonly required: false;
  218. readonly validator: ((val: unknown) => boolean) | undefined;
  219. __epPropKey: true;
  220. };
  221. readonly fixedData: {
  222. readonly type: import("vue").PropType<any[]>;
  223. readonly required: false;
  224. readonly validator: ((val: unknown) => boolean) | undefined;
  225. __epPropKey: true;
  226. };
  227. readonly expandColumnKey: StringConstructor;
  228. readonly expandedRowKeys: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | ((new (...args: any[]) => KeyType[]) | (() => KeyType[]))[], unknown, unknown, () => never[], boolean>;
  229. readonly defaultExpandedRowKeys: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyType[]) | (() => KeyType[]) | ((new (...args: any[]) => KeyType[]) | (() => KeyType[]))[], unknown, unknown, () => never[], boolean>;
  230. readonly class: StringConstructor;
  231. readonly fixed: BooleanConstructor;
  232. readonly style: {
  233. readonly type: import("vue").PropType<CSSProperties>;
  234. readonly required: false;
  235. readonly validator: ((val: unknown) => boolean) | undefined;
  236. __epPropKey: true;
  237. };
  238. readonly width: {
  239. readonly type: import("vue").PropType<number>;
  240. readonly required: true;
  241. readonly validator: ((val: unknown) => boolean) | undefined;
  242. __epPropKey: true;
  243. };
  244. readonly height: {
  245. readonly type: import("vue").PropType<number>;
  246. readonly required: true;
  247. readonly validator: ((val: unknown) => boolean) | undefined;
  248. __epPropKey: true;
  249. };
  250. readonly maxHeight: NumberConstructor;
  251. readonly useIsScrolling: BooleanConstructor;
  252. readonly indentSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  253. readonly iconSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 12, boolean>;
  254. readonly hScrollbarSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  255. readonly vScrollbarSize: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
  256. readonly scrollbarAlwaysOn: BooleanConstructor;
  257. readonly sortBy: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./types").SortBy) | (() => import("./types").SortBy) | ((new (...args: any[]) => import("./types").SortBy) | (() => import("./types").SortBy))[], unknown, unknown, () => {
  258. key: KeyType;
  259. order: import("element-plus").TableV2SortOrder;
  260. }, boolean>;
  261. readonly sortState: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("./types").SortState) | (() => import("./types").SortState) | ((new (...args: any[]) => import("./types").SortState) | (() => import("./types").SortState))[], unknown, unknown, undefined, boolean>;
  262. readonly onColumnSort: {
  263. readonly type: import("vue").PropType<import("./table").ColumnSortHandler<any>>;
  264. readonly required: false;
  265. readonly validator: ((val: unknown) => boolean) | undefined;
  266. __epPropKey: true;
  267. };
  268. readonly onExpandedRowsChange: {
  269. readonly type: import("vue").PropType<import("./table").ExpandedRowsChangeHandler>;
  270. readonly required: false;
  271. readonly validator: ((val: unknown) => boolean) | undefined;
  272. __epPropKey: true;
  273. };
  274. readonly onEndReached: {
  275. readonly type: import("vue").PropType<(remainDistance: number) => void>;
  276. readonly required: false;
  277. readonly validator: ((val: unknown) => boolean) | undefined;
  278. __epPropKey: true;
  279. };
  280. readonly onRowExpand: {
  281. readonly type: import("vue").PropType<import("element-plus").RowExpandHandler>;
  282. readonly required: false;
  283. readonly validator: ((val: unknown) => boolean) | undefined;
  284. __epPropKey: true;
  285. };
  286. readonly onScroll: {
  287. readonly type: import("vue").PropType<(...args: any[]) => void>;
  288. readonly required: false;
  289. readonly validator: ((val: unknown) => boolean) | undefined;
  290. __epPropKey: true;
  291. };
  292. readonly onRowsRendered: {
  293. readonly type: import("vue").PropType<(params: import("./grid").onRowRenderedParams) => void>;
  294. readonly required: false;
  295. readonly validator: ((val: unknown) => boolean) | undefined;
  296. __epPropKey: true;
  297. };
  298. readonly rowEventHandlers: {
  299. readonly type: import("vue").PropType<import("element-plus").RowEventHandlers>;
  300. readonly required: false;
  301. readonly validator: ((val: unknown) => boolean) | undefined;
  302. __epPropKey: true;
  303. };
  304. }>>, {
  305. readonly fixed: boolean;
  306. readonly rowKey: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number | symbol) | (() => KeyType) | ((new (...args: any[]) => string | number | symbol) | (() => KeyType))[], unknown, unknown>;
  307. readonly useIsScrolling: boolean;
  308. readonly scrollbarAlwaysOn: boolean;
  309. readonly cache: number;
  310. readonly estimatedRowHeight: number;
  311. readonly rowHeight: number;
  312. readonly hScrollbarSize: number;
  313. readonly vScrollbarSize: number;
  314. readonly sortBy: import("./types").SortBy;
  315. readonly headerHeight: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => number | number[]) | (() => number | number[]) | ((new (...args: any[]) => number | number[]) | (() => number | number[]))[], unknown, unknown>;
  316. readonly footerHeight: number;
  317. readonly indentSize: number;
  318. readonly iconSize: number;
  319. readonly sortState: import("./types").SortState;
  320. readonly expandedRowKeys: KeyType[];
  321. readonly defaultExpandedRowKeys: KeyType[];
  322. }>;
  323. export default TableV2;
  324. export type TableV2Instance = InstanceType<typeof TableV2> & {
  325. /**
  326. * @description scroll to a given position
  327. * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.
  328. */
  329. scrollTo: (param: {
  330. scrollLeft?: number;
  331. scrollTop?: number;
  332. }) => void;
  333. /**
  334. * @description scroll to a given position horizontally
  335. * @params scrollLeft {Number} where to scroll to.
  336. */
  337. scrollToLeft: (scrollLeft: number) => void;
  338. /**
  339. * @description scroll to a given position vertically
  340. * @params scrollTop { Number } where to scroll to.
  341. */
  342. scrollToTop: (scrollTop: number) => void;
  343. /**
  344. * @description scroll to a given row
  345. * @params row {Number} which row to scroll to
  346. * @params strategy {ScrollStrategy} use what strategy to scroll to
  347. */
  348. scrollToRow(row: number, strategy?: ScrollStrategy): void;
  349. };