An extensible input number spinner component for react native

React Native Input Spinner

An extensible input number spinner component for react-native.

This component enhance a text input for entering numeric values, with increase and decrease buttons.

Install

npm

npm install react-native-input-spinner --save

Yarn

yarn add react-native-input-spinner

Usage

// Require
include InputSpinner from 'react-native-input-spinner';

// Example
<InputSpinner
	max={10}
	min={2}
	step={2}
	colorMax={"#f04048"}
	colorMin={"#40c5f4"}
	value={this.state.number}
	onChange={(num)=>{console.log(num)}}

Run example

Clone or download repo and after:

cd Example
yarn install # or npm install
expo start

Open Expo Client on your device. Use it to scan the QR code printed by expo start. You may have to wait a minute while your project bundles and loads for the first time.

Screenshots

Default props + Min & Max colors Not rounded, showBorder, Min & Max colors

Example app

Handlers

Handler Description
onChange Get the number of the Spinner
onMax When max is reached get max number permitted
onMin When min is reached get min number permitted
onIncrease When increase button is clicked get value increased
onDecrease When decrease button is clicked get value decreased

Props

Property Description Type Default Note
max Max number permitted String
Number
0
min Min value permitted String
Number
99
type Type of spinner String 'int' Can be real or int
precision Max numbers permitted after comma Integer 2
step Value to increment or decrement the current spinner value String
Number
1
value Controlled value of the Spinner String
Number
0
disabled Disable the Spinner or not Boolean false
editable Set if input number field is editable or not Boolean true

Props style

Property Description Type Default Note
style Container style Object Can overwrite width and showBorder
arrow Labels on button will be arrows (< and >) instead of plus and minus Boolean
width Custom width of the Spinner Number 150
height Custom height of the Spinner Number 50
color Custom color of the Spinner String ‘#3e525f'
colorMin Custom color of the Spinner when reach min value String
colorMax Custom color of the Spinner when reach max value String
background Background color of number button String ’transparent'
rounded Use circular button Boolean true
showBorder Show the border of the Spinner or not Boolean false Use with rounded={false}
textColor Custom number color String ‘#000000'
inputStyle Input Style (Text number at middle) Object
fontSize Custom fontSize of the text input in the Spinner Number 14
buttonFontSize Custom fontSize of buttons in the Spinner Number 14
buttonTextColor Custom color of the button in the Spinner String 'white'
buttonStyle Button Style (Plus and Minus buttons) Object

GitHub