Skip to content

Repository files navigation

ReactNativeWheelPicker

npm versionnpm version

A simple Wheel Picker for Android based on https://github.com/AigeStudio/WheelPicker Also you can use multiple pickers, such as DatePicker or TimePicker

For IOS you can use a good Picker for IOS and DatePicker for IOS

Installation Android

yarn add react-native-wheel-picker-android

Usage

import{WheelPicker,DatePicker,TimePicker}from'react-native-wheel-picker-android'importReact,{Component}from'react';import{AppRegistry,StyleSheet,Text,View}from'react-native';constwheelPickerData=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];constnow=newDate()classMyPickersextendsComponent{render(){return(<Viewstyle={styles.container}><WheelPickeronItemSelected={(event)=>this.onItemSelected(event)}isCurveddata={wheelPickerData}style={styles.wheelPicker}/><DatePickerinitDate={now.toISOString()}onDateSelected={(date)=>this.onDateSelected(date)}/><TimePickerinitDate={now.toISOString()}onTimeSelected={(date)=>this.onTimeSelected(date)}/></View>);}onItemSelected(event){// do something}onDateSelected(date){// do something}onTimeSelected(date){// do something}}conststyles=StyleSheet.create({container: {flex: 1,alignItems: 'center',},wheelPicker: {width: 200,height: 150}});module.exports=MyPickers;

Wheel Picker

import{WheelPicker,DatePicker,TimePicker}from'react-native-wheel-picker-android'
...
render(){letarr=[1,2,3];return(<WheelPickeronItemSelected={(event)=>{/* do something */}}isCurvedisCyclicdata={arr}style={{width:300,height: 300}}/>);}

Props

PropDefaultTypeDescription
onItemSelectednullfuncCallback when user select item {data: 'itemData', position: 'itemPosition'}
datadefault string arrayarrayData array (string or number type)
isCurvedfalseboolMake Wheel Picker curved
isCyclicfalseboolMake Wheel Picker cyclic
isAtmosphericfalseboolDesign Wheel Picker's items
selectedItemTextColorgreystringWheel Picker's selected Item Text Color
itemSpace20numberWheel Picker's items spacing
visibleItemCount7numberWheel Picker's items max visible count
renderIndicatorfalseboolShow Wheel Picker indicator
indicatorColortransparentstringIndicator color
isCurtainfalseboolWheel Picker curtain
curtainColortransparentstringWheel Picker curtain color
itemTextColorgreystringWheel Picker's items color
itemTextSize20numberWheel Picker's items text size
itemTextFontFamilynullstringWheel Picker's items text font name
selectedItemPositionnullnumberSelect current item position
backgroundColortransparentstringWheel Picker background color

data

An array of options. This should be provided with an array of strings or array of numbers.

onItemSelected(event)

Callback with event in the form event = { data: 1, position: 0 }

Time Picker

...
render(){constminutesArray=['00','15','30','45'];constnow=newDate();return(<TimePickerminutes={minutesArray}onTimeSelected={(date)=>this.onTimeSelected(date))}initDate={now.toISOString()}/>);}onTimeSelected(date){// do something}

Props

PropDefaultTypeDescription
onTimeSelectednullfuncCallback when user select time {date: 'selectedTime'}
initDatecurrent dateISOStringInitial selected time
hours[1, 2, 3, .. 12]arrayhours array
minutes['00', '05' ,'10', .. '55']arrayminutes array

Date Picker

...
render(){letnow=newDate();return(<DatePickerinitDate={now.toISOString()}onDateSelected={(date)=>this.onDateSelected(date)}/>);}onDateSelected(date){// do something}

Props

PropDefaultTypeDescription
onDateSelectednullfuncCallback when user select date {date: 'selectedDate'}
initDatecurrent dateISOStringInitial selected date
days['Today', 'Wed Dec 28', ...]arraydays array
hours[1, 2, 3 .. 12]arrayhours array
minutes['00', '05', '10', .. '55']arrayminutes array
format24falseboolif true hours format is 24 hours
startDatecurrent dateISOStringThe Earlest date
daysCount365numberHow many days included in Date Picker

Questions or suggestions?

Feel free to open an issue

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages