1
1
import * as React from 'react' ;
2
- import getScrollBarSize from 'rc-util/lib/getScrollBarSize' ;
3
2
import Header , { HeaderProps } from './Header' ;
4
3
import ColGroup from '../ColGroup' ;
5
4
import { ColumnsType , ColumnType } from '../interface' ;
6
5
import TableContext from '../context/TableContext' ;
7
6
8
- const scrollbarSize = getScrollBarSize ( ) ;
9
-
10
7
export interface FixedHeaderProps < RecordType > extends HeaderProps < RecordType > {
11
8
colWidths : number [ ] ;
12
9
columCount : number ;
@@ -20,7 +17,7 @@ function FixedHeader<RecordType>({
20
17
stickyOffsets,
21
18
...props
22
19
} : FixedHeaderProps < RecordType > ) {
23
- const { prefixCls } = React . useContext ( TableContext ) ;
20
+ const { prefixCls, scrollbarSize } = React . useContext ( TableContext ) ;
24
21
25
22
// Add scrollbar column
26
23
const lastColumn = flattenColumns [ flattenColumns . length - 1 ] ;
@@ -33,12 +30,12 @@ function FixedHeader<RecordType>({
33
30
34
31
const columnsWithScrollbar = React . useMemo < ColumnsType < RecordType > > (
35
32
( ) => ( scrollbarSize ? [ ...columns , ScrollBarColumn ] : columns ) ,
36
- [ columns ] ,
33
+ [ scrollbarSize , columns ] ,
37
34
) ;
38
35
39
36
const flattenColumnsWithScrollbar = React . useMemo < ColumnType < RecordType > [ ] > (
40
37
( ) => ( scrollbarSize ? [ ...flattenColumns , ScrollBarColumn ] : flattenColumns ) ,
41
- [ flattenColumns ] ,
38
+ [ scrollbarSize , flattenColumns ] ,
42
39
) ;
43
40
44
41
// Calculate the sticky offsets
@@ -49,7 +46,7 @@ function FixedHeader<RecordType>({
49
46
...stickyOffsets ,
50
47
right : [ ...right . map ( width => width + scrollbarSize ) , 0 ] ,
51
48
} ;
52
- } , [ stickyOffsets ] ) ;
49
+ } , [ scrollbarSize , stickyOffsets ] ) ;
53
50
54
51
return (
55
52
< table style = { { tableLayout : 'fixed' } } >
0 commit comments