@@ -16,8 +16,6 @@ export { OverflowContext } from './context';
1616
1717export type { ComponentType } from './RawItem' ;
1818
19- export type ItemWithIndex < ItemType > = ItemType & { index ?: number } ;
20-
2119export interface OverflowProps < ItemType > extends React . HTMLAttributes < any > {
2220 prefixCls ?: string ;
2321 className ?: string ;
@@ -26,7 +24,7 @@ export interface OverflowProps<ItemType> extends React.HTMLAttributes<any> {
2624 itemKey ?: React . Key | ( ( item : ItemType ) => React . Key ) ;
2725 /** Used for `responsive`. It will limit render node to avoid perf issue */
2826 itemWidth ?: number ;
29- renderItem ?: ( item : ItemWithIndex < ItemType > ) => React . ReactNode ;
27+ renderItem ?: ( item : ItemType , info : { index : number } ) => React . ReactNode ;
3028 /** @private Do not use in your production. Render raw node that need wrap Item by developer self */
3129 renderRawItem ?: ( item : ItemType , index : number ) => React . ReactElement ;
3230 maxCount ?: number | typeof RESPONSIVE | typeof INVALIDATE ;
@@ -343,13 +341,12 @@ function Overflow<ItemType = any>(
343341 }
344342 : ( item : ItemType , index : number ) => {
345343 const key = getKey ( item , index ) ;
346- const propsItem : ItemWithIndex < ItemType > = { ...item , index } ;
347344 return (
348345 < Item
349346 { ...itemSharedProps }
350347 order = { index }
351348 key = { key }
352- item = { propsItem }
349+ item = { item }
353350 renderItem = { mergedRenderItem }
354351 itemKey = { key }
355352 registerSize = { registerSize }
@@ -368,26 +365,26 @@ function Overflow<ItemType = any>(
368365
369366 const mergedRenderRest = renderRest || defaultRenderRest ;
370367
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+ ) ;
391388
392389 const overflowNode = (
393390 < Component
@@ -423,7 +420,9 @@ function Overflow<ItemType = any>(
423420 < ResizeObserver onResize = { onOverflowResize } disabled = { ! shouldResponsive } >
424421 { overflowNode }
425422 </ ResizeObserver >
426- ) : overflowNode ;
423+ ) : (
424+ overflowNode
425+ ) ;
427426}
428427
429428const ForwardOverflow = React . forwardRef ( Overflow ) ;
0 commit comments