@@ -15,17 +15,18 @@ const renderBody: CustomizeScrollBody<any> = (rawData, props) => {
15
15
return < Grid ref = { ref } data = { rawData as any } onScroll = { onScroll } /> ;
16
16
} ;
17
17
18
- export interface StaticTableProps < RecordType > extends Omit < TableProps < RecordType > , 'scroll' > {
18
+ export interface VirtualTableProps < RecordType > extends Omit < TableProps < RecordType > , 'scroll' > {
19
19
scroll : {
20
20
x : number ;
21
21
y : number ;
22
22
} ;
23
+ listItemHeight ?: number ;
23
24
}
24
25
25
26
const PRESET_COLUMN_WIDTH = 100 ;
26
27
27
- function VirtualTable < RecordType > ( props : StaticTableProps < RecordType > ) {
28
- const { columns, scroll, prefixCls = DEFAULT_PREFIX , className } = props ;
28
+ function VirtualTable < RecordType > ( props : VirtualTableProps < RecordType > ) {
29
+ const { columns, scroll, prefixCls = DEFAULT_PREFIX , className, listItemHeight } = props ;
29
30
30
31
const { x : scrollX , y : scrollY } = scroll || { } ;
31
32
let mergedScrollX = scrollX ;
@@ -40,9 +41,15 @@ function VirtualTable<RecordType>(props: StaticTableProps<RecordType>) {
40
41
}
41
42
}
42
43
44
+ // ========================= Context ==========================
45
+ const context = React . useMemo (
46
+ ( ) => ( { scrollX : mergedScrollX , scrollY, listItemHeight } ) ,
47
+ [ mergedScrollX , scrollY , listItemHeight ] ,
48
+ ) ;
49
+
43
50
// ========================== Render ==========================
44
51
return (
45
- < StaticContext . Provider value = { { scrollX : mergedScrollX , scrollY } } >
52
+ < StaticContext . Provider value = { context } >
46
53
< Table
47
54
{ ...props }
48
55
className = { classNames ( className , `${ prefixCls } -virtual` ) }
0 commit comments