1.0.2 • Published 5 years ago

@rn-components-kit/carousel v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

Carousel

NPM version

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

  1. When carousel is in horizontal mode, width and itemWidth must be set.
  2. When carousel is in vertical mode, height and itemHeight must be set.
  3. 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.
  4. Following picture will help you understand some important required variables:

How to use

npm install @rn-components-kit/carousel --save
PreviewCode
Demo1 Code
Demo2 Code
Demo3 Code
Demo4 Code
Demo5 Code
Demo6 Code
Demo7 Code

Props

Reference

Props

style

Allows you to customize style

TypeRequiredDefault
objectno-

initialIndex

Determines the position when carousel first show

TypeRequiredDefault
numberno0

draggable

Determines whether carousel can be dragged to slide to prev/next one

TypeRequiredDefault
booleannotrue

vertical

Determines whether caousel is in horizontal or vertical direction

TypeRequiredDefault
booleannofalse

width

The width of carousel (when carousel is in horizontal mode, it must be set)

TypeRequiredDefault
numberno-

height

The height of carousel (when carousel is in vertical mode, it must be set)

TypeRequiredDefault
numberno-

itemWidth

The width of each item in carousel (when carousel is in horizontal mode, it must be set)

TypeRequiredDefault
numberno-

itemHeight

The height of each item in carousel (when carousel is in vertical mode, it must be set)

TypeRequiredDefault
numberno-

gap

When item's length is smaller than container, gap can be used to separate items

TypeRequiredDefault
numberno0

loop

Determines whether carousel's loop mode is enabled

TypeRequiredDefault
booleannofalse

cloneCount

When loop mode is enabled, there will be cloneCount copied elements placed at both sides of items

TypeRequiredDefault
numberno3

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

TypeRequiredDefault
booleannofalse

autoPlay

Determines whether auto play mode is enabled

TypeRequiredDefault
booleannofalse

autoPlayDelay

When auto play mode is enabled, it determines how long it takes between two scrolling animations (ms)

TypeRequiredDefault
numberno3000

showPagination

Determines whether pagination module is shown in carousel

TypeRequiredDefault
booleannofalse

paginationStyle

Allow you to customize pagination's container style

TypeRequiredDefault
objectno-

dotStyle

Allow you to customize pagination's dot style

TypeRequiredDefault
objectno-

curDotStyle

Allow you to customize pagination's current dot style

TypeRequiredDefault
objectno-

renderPagination

(info: {curIndex: number, total: number}) => React.ReactElement | null

Allow you to customize pagination module

TypeRequiredDefault
functionno-

onIndexChange

(from: number, to: number) => void

A callback will be triggered when carousel's scrollIndex changes

TypeRequiredDefault
functionno() => {}

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