English | 中文
A slideshow component for cycling through elements (image or text), just like a carousel. It supports the following features:
- horizontal/vertical two directions
- loop mode
- auto play mode
- center mode, item would be adjusted to the screen's center
- supports children that have lengths smaller than the container
- When carousel is in
horizontal
mode,width
anditemWidth
must be set. - When carousel is in
vertical
mode,height
anditemHeight
must be set. - If the data source of carousel's children would change, you should set the
data
prop. Or the children of carousel would not be updated. - Following picture will help you understand some important required variables:
npm install @rn-components-kit/carousel --save
Preview | Code |
---|---|
![]() ![]() |
Demo1 Code |
![]() ![]() |
Demo2 Code |
![]() ![]() |
Demo3 Code |
![]() ![]() |
Demo4 Code |
![]() ![]() |
Demo5 Code |
![]() ![]() |
Demo6 Code |
![]() ![]() |
Demo7 Code |
style
initialIndex
draggable
vertical
width
height
itemWidth
itemHeight
gap
loop
cloneCount
centerModeEnabled
autoPlay
autoPlayDelay
showPagination
paginationStyle
dotStyle
curDotStyle
renderPagination
onIndexChange
scrollToPrev
scrollToNext
scrollToIndex
Allows you to customize style
Type | Required | Default |
---|---|---|
object | no | - |
Determines the position when carousel first show
Type | Required | Default |
---|---|---|
number | no | 0 |
Determines whether carousel can be dragged to slide to prev/next one
Type | Required | Default |
---|---|---|
boolean | no | true |
Determines whether caousel is in horizontal or vertical direction
Type | Required | Default |
---|---|---|
boolean | no | false |
The width of carousel (when carousel is in horizontal
mode, it must be set)
Type | Required | Default |
---|---|---|
number | no | - |
The height of carousel (when carousel is in vertical
mode, it must be set)
Type | Required | Default |
---|---|---|
number | no | - |
The width of each item in carousel (when carousel is in horizontal
mode, it must be set)
Type | Required | Default |
---|---|---|
number | no | - |
The height of each item in carousel (when carousel is in vertical
mode, it must be set)
Type | Required | Default |
---|---|---|
number | no | - |
When item's length is smaller than container, gap can be used to separate items
Type | Required | Default |
---|---|---|
number | no | 0 |
Determines whether carousel's loop mode is enabled
Type | Required | Default |
---|---|---|
boolean | no | false |
When loop mode is enabled, there will be cloneCount
copied elements placed at both sides of items
Type | Required | Default |
---|---|---|
number | no | 3 |
When item's length is smaller than container, item would be adjusted to the center of carousel if centerModeEnabled is true. In this case, prev/current/next elements will be all in one screen
Type | Required | Default |
---|---|---|
boolean | no | false |
Determines whether auto play mode is enabled
Type | Required | Default |
---|---|---|
boolean | no | false |
When auto play mode is enabled, it determines how long it takes between two scrolling animations (ms)
Type | Required | Default |
---|---|---|
number | no | 3000 |
Determines whether pagination module is shown in carousel
Type | Required | Default |
---|---|---|
boolean | no | false |
Allow you to customize pagination's container style
Type | Required | Default |
---|---|---|
object | no | - |
Allow you to customize pagination's dot style
Type | Required | Default |
---|---|---|
object | no | - |
Allow you to customize pagination's current dot style
Type | Required | Default |
---|---|---|
object | no | - |
(info: {curIndex: number, total: number}) => React.ReactElement | null
Allow you to customize pagination module
Type | Required | Default |
---|---|---|
function | no | - |
(from: number, to: number) => void
A callback will be triggered when carousel's scrollIndex changes
Type | Required | Default |
---|---|---|
function | no | () => {} |
scrollToPrev();
Scrolls to prev item
scrollToNext();
Scrolls to next item
scrollToIndex([options]: {index: number, animated: boolean});
Scrolls to the item at the specified index