Interface: Components<Data, Context>
Customize the Virtuoso rendering by passing a set of custom components.
Type parameters
Name | Type |
---|---|
Data | unknown |
Context | unknown |
Properties
Header
• Optional
Header: ComponentType
<{ context?
: Context
}>
Set to render a component at the top of the list.
The header remains above the top items and does not remain sticky.
Footer
• Optional
Footer: ComponentType
<{ context?
: Context
}>
Set to render a component at the bottom of the list.
Item
• Optional
Item: ComponentType
<Pick
<DetailedHTMLProps
<HTMLAttributes
<HTMLDivElement
>, HTMLDivElement
>, "style"
| "children"
> & { data-index
: number
; data-item-index
: number
; data-item-group-index?
: number
; data-known-size
: number
; item
: Data
} & { context?
: Context
}>
Set to customize the item wrapping element. Use only if you would like to render list from elements different than a div
.
Group
• Optional
Group: ComponentType
<Pick
<DetailedHTMLProps
<HTMLAttributes
<HTMLDivElement
>, HTMLDivElement
>, "style"
| "children"
> & { data-index
: number
; data-item-index
: number
; data-known-size
: number
} & { context?
: Context
}>
Set to customize the group item wrapping element. Use only if you would like to render list from elements different than a div
.
TopItemList
• Optional
TopItemList: ComponentType
<TopItemListProps
& { context?
: Context
}>
Set to customize the top list item wrapping element. Use if you would like to render list from elements different than a div
or you want to set a custom z-index for the sticky position.
Scroller
• Optional
Scroller: ComponentType
<Pick
<DetailedHTMLProps
<HTMLAttributes
<HTMLDivElement
>, HTMLDivElement
>, "style"
| "children"
| "tabIndex"
> & { data-testid?
: string
; data-virtuoso-scroller?
: boolean
} & RefAttributes
<HTMLDivElement
> & { context?
: Context
}>
Set to customize the outermost scrollable element. This should not be necessary in general, as the component passes its HTML attribute props to it.
List
• Optional
List: ComponentType
<Pick
<DetailedHTMLProps
<HTMLAttributes
<HTMLDivElement
>, HTMLDivElement
>, "style"
| "children"
> & { data-testid
: string
} & RefAttributes
<HTMLDivElement
> & { context?
: Context
}>
Set to customize the items wrapper. Use only if you would like to render list from elements different than a div
.
EmptyPlaceholder
• Optional
EmptyPlaceholder: ComponentType
<{ context?
: Context
}>
Set to render a custom UI when the list is empty.
ScrollSeekPlaceholder
• Optional
ScrollSeekPlaceholder: ComponentType
<ScrollSeekPlaceholderProps
& { context?
: Context
}>
Set to render an item placeholder when the user scrolls fast. See the scrollSeek
property for more details.