@rn-components-kit/carousel
v1.0.2
Published
A slideshow component for cycling through elements (image or text), just like a carousel.
Maintainers
Readme
Carousel
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
:warning: NOTE
- When carousel is in
horizontalmode,widthanditemWidthmust be set. - When carousel is in
verticalmode,heightanditemHeightmust be set. - If the data source of carousel's children would change, you should set the
dataprop. Or the children of carousel would not be updated. - Following picture will help you understand some important required variables:
How to use
npm install @rn-components-kit/carousel --save|Preview|Code| |------------|:---------:| ||Demo1 Code| ||Demo2 Code| ||Demo3 Code| ||Demo4 Code| ||Demo5 Code| ||Demo6 Code| ||Demo7 Code|
Props
styleinitialIndexdraggableverticalwidthheightitemWidthitemHeightgaploopcloneCountcenterModeEnabledautoPlayautoPlayDelayshowPaginationpaginationStyledotStylecurDotStylerenderPaginationonIndexChangescrollToPrevscrollToNextscrollToIndex
Reference
Props
style
Allows you to customize style
|Type|Required|Default| |----|--------|-------| |object|no|-|
initialIndex
Determines the position when carousel first show
|Type|Required|Default| |----|--------|-------| |number|no|0|
draggable
Determines whether carousel can be dragged to slide to prev/next one
|Type|Required|Default| |----|--------|-------| |boolean|no|true|
vertical
Determines whether caousel is in horizontal or vertical direction
|Type|Required|Default| |----|--------|-------| |boolean|no|false|
width
The width of carousel (when carousel is in horizontal mode, it must be set)
|Type|Required|Default| |----|--------|-------| |number|no|-|
height
The height of carousel (when carousel is in vertical mode, it must be set)
|Type|Required|Default| |----|--------|-------| |number|no|-|
itemWidth
The width of each item in carousel (when carousel is in horizontal mode, it must be set)
|Type|Required|Default| |----|--------|-------| |number|no|-|
itemHeight
The height of each item in carousel (when carousel is in vertical mode, it must be set)
|Type|Required|Default| |----|--------|-------| |number|no|-|
gap
When item's length is smaller than container, gap can be used to separate items
|Type|Required|Default| |----|--------|-------| |number|no|0|
loop
Determines whether carousel's loop mode is enabled
|Type|Required|Default| |----|--------|-------| |boolean|no|false|
cloneCount
When loop mode is enabled, there will be cloneCount copied elements placed at both sides of items
|Type|Required|Default| |----|--------|-------| |number|no|3|
centerModeEnabled
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|
autoPlay
Determines whether auto play mode is enabled
|Type|Required|Default| |----|--------|-------| |boolean|no|false|
autoPlayDelay
When auto play mode is enabled, it determines how long it takes between two scrolling animations (ms)
|Type|Required|Default| |----|--------|-------| |number|no|3000|
showPagination
Determines whether pagination module is shown in carousel
|Type|Required|Default| |----|--------|-------| |boolean|no|false|
paginationStyle
Allow you to customize pagination's container style
|Type|Required|Default| |----|--------|-------| |object|no|-|
dotStyle
Allow you to customize pagination's dot style
|Type|Required|Default| |----|--------|-------| |object|no|-|
curDotStyle
Allow you to customize pagination's current dot style
|Type|Required|Default| |----|--------|-------| |object|no|-|
renderPagination
(info: {curIndex: number, total: number}) => React.ReactElement | nullAllow you to customize pagination module
|Type|Required|Default| |----|--------|-------| |function|no|-|
onIndexChange
(from: number, to: number) => voidA callback will be triggered when carousel's scrollIndex changes
|Type|Required|Default| |----|--------|-------| |function|no|() => {}|
Methods
scrollToPrev()
scrollToPrev();Scrolls to prev item
scrollToNext()
scrollToNext();Scrolls to next item
scrollToIndex()
scrollToIndex([options]: {index: number, animated: boolean});Scrolls to the item at the specified index
