@@ -55,12 +55,18 @@ export interface AppTableProps<T> {
55
55
width : number | string ;
56
56
} ;
57
57
aExpand ?: ( data : T , index : number ) => React . ReactNode ;
58
+ aExpandFixed ?: {
59
+ top ?: number | string ;
60
+ right ?: number | string ;
61
+ bottom ?: number | string ;
62
+ left ?: number | string ;
63
+ } ;
58
64
aScroll ?: { x ?: number | string ; y ?: number | string } ;
59
65
aKey ?: ( data : T , index : number ) => any ;
60
66
}
61
67
62
68
export function AppTable < T = any > ( props : AppTableProps < T > ) : JSX . Element | null {
63
- const { className, aName, aData, aColumns, aActions, aExpand, aScroll, aKey = ( data ) => data [ 'id' ] } = props ;
69
+ const { className, aName, aData, aColumns, aActions, aExpand, aExpandFixed , aScroll, aKey = ( data ) => data [ 'id' ] } = props ;
64
70
65
71
const columns = aColumns . filter ( ( column ) => ! column . hidden ) ;
66
72
const titleIndex = columns . findIndex ( ( column ) => column . title ) ;
@@ -76,7 +82,7 @@ export function AppTable<T = any>(props: AppTableProps<T>): JSX.Element | null {
76
82
< DTable
77
83
className = { getClassName ( 'd-none d-md-block' , className ) }
78
84
style = { {
79
- minHeight : aScroll ?. y ,
85
+ maxHeight : aScroll ?. y ,
80
86
overflowX : isUndefined ( aScroll ?. x ) ? 'hidden' : 'auto' ,
81
87
overflowY : isUndefined ( aScroll ?. y ) ? 'hidden' : 'auto' ,
82
88
} }
@@ -85,14 +91,14 @@ export function AppTable<T = any>(props: AppTableProps<T>): JSX.Element | null {
85
91
{ aName && < caption > { aName } </ caption > }
86
92
< thead >
87
93
< tr >
88
- { ! isUndefined ( aExpand ) && < DTable . Th dWidth = { 60 } > </ DTable . Th > }
94
+ { ! isUndefined ( aExpand ) && < DTable . Th dWidth = { 60 } dFixed = { Object . assign ( { top : 0 } , aExpandFixed ) } > </ DTable . Th > }
89
95
{ columns . map ( ( column , index ) => (
90
96
< DTable . Th
91
97
key = { index }
92
98
dWidth = { column . width }
93
99
dSort = { column . thProps ?. sort }
94
100
dActions = { column . thProps ?. actions }
95
- dFixed = { column . fixed }
101
+ dFixed = { Object . assign ( { top : 0 } , column . fixed ) }
96
102
dAlign = { column . align }
97
103
>
98
104
{ column . th }
0 commit comments