@@ -16,8 +16,6 @@ export { OverflowContext } from './context';
16
16
17
17
export type { ComponentType } from './RawItem' ;
18
18
19
- export type ItemWithIndex < ItemType > = ItemType & { index ?: number } ;
20
-
21
19
export interface OverflowProps < ItemType > extends React . HTMLAttributes < any > {
22
20
prefixCls ?: string ;
23
21
className ?: string ;
@@ -26,7 +24,7 @@ export interface OverflowProps<ItemType> extends React.HTMLAttributes<any> {
26
24
itemKey ?: React . Key | ( ( item : ItemType ) => React . Key ) ;
27
25
/** Used for `responsive`. It will limit render node to avoid perf issue */
28
26
itemWidth ?: number ;
29
- renderItem ?: ( item : ItemWithIndex < ItemType > ) => React . ReactNode ;
27
+ renderItem ?: ( item : ItemType , info : { index : number } ) => React . ReactNode ;
30
28
/** @private Do not use in your production. Render raw node that need wrap Item by developer self */
31
29
renderRawItem ?: ( item : ItemType , index : number ) => React . ReactElement ;
32
30
maxCount ?: number | typeof RESPONSIVE | typeof INVALIDATE ;
@@ -343,13 +341,12 @@ function Overflow<ItemType = any>(
343
341
}
344
342
: ( item : ItemType , index : number ) => {
345
343
const key = getKey ( item , index ) ;
346
- const propsItem : ItemWithIndex < ItemType > = { ...item , index } ;
347
344
return (
348
345
< Item
349
346
{ ...itemSharedProps }
350
347
order = { index }
351
348
key = { key }
352
- item = { propsItem }
349
+ item = { item }
353
350
renderItem = { mergedRenderItem }
354
351
itemKey = { key }
355
352
registerSize = { registerSize }
@@ -368,26 +365,26 @@ function Overflow<ItemType = any>(
368
365
369
366
const mergedRenderRest = renderRest || defaultRenderRest ;
370
367
371
- const restNode = renderRawRest ? (
372
- < OverflowContext . Provider
373
- value = { {
374
- ...itemSharedProps ,
375
- ...restContextProps ,
376
- } }
377
- >
378
- { renderRawRest ( omittedItems ) }
379
- </ OverflowContext . Provider >
380
- ) : (
381
- < Item
382
- { ...itemSharedProps }
383
- // When not show, order should be the last
384
- { ...restContextProps }
385
- >
386
- { typeof mergedRenderRest === 'function'
387
- ? mergedRenderRest ( omittedItems )
388
- : mergedRenderRest }
389
- </ Item >
390
- ) ;
368
+ const restNode = renderRawRest ? (
369
+ < OverflowContext . Provider
370
+ value = { {
371
+ ...itemSharedProps ,
372
+ ...restContextProps ,
373
+ } }
374
+ >
375
+ { renderRawRest ( omittedItems ) }
376
+ </ OverflowContext . Provider >
377
+ ) : (
378
+ < Item
379
+ { ...itemSharedProps }
380
+ // When not show, order should be the last
381
+ { ...restContextProps }
382
+ >
383
+ { typeof mergedRenderRest === 'function'
384
+ ? mergedRenderRest ( omittedItems )
385
+ : mergedRenderRest }
386
+ </ Item >
387
+ ) ;
391
388
392
389
const overflowNode = (
393
390
< Component
@@ -423,7 +420,9 @@ function Overflow<ItemType = any>(
423
420
< ResizeObserver onResize = { onOverflowResize } disabled = { ! shouldResponsive } >
424
421
{ overflowNode }
425
422
</ ResizeObserver >
426
- ) : overflowNode ;
423
+ ) : (
424
+ overflowNode
425
+ ) ;
427
426
}
428
427
429
428
const ForwardOverflow = React . forwardRef ( Overflow ) ;
0 commit comments