1.1.5 • Published 4 months ago

react-native-otp-textinput v1.1.5

Weekly downloads
630
License
MIT
Repository
github
Last release
4 months ago

REACT NATIVE OTP TEXT INPUT

React Native Component that can used for OTPs and Pins as secure pin input.

npm version npm downloads

Installation

npm i -S react-native-otp-textinput

Demo

How to Use

Check the Example react native app for usage.

Platform Support

Supports both Android and iOS.

Props

The following props are applicable for the component along with props supported by react native TextInput component

PropTypeOptionalDefaultDescription
defaultValuestringYes''Default Value that can be set based on OTP / Pin received from parent container.
handleTextChangefuncNon/acallback with concated string of all cells as argument.
handleCellTextChangefuncYesn/acallback for text change in individual cell with cell text and cell index as arguments
inputCountnumberYes4Number of Text Input Cells to be present.
tintColorstringYes#3CB371Color for Cell Border on being focused.
offTintColorstringYes#DCDCDCColor for Cell Border Border not focused.
inputCellLengthnumberYes1Number of character that can be entered inside a single cell.
containerStyleobjectYes{}style for overall container.
textInputStyleobjectYes{}style for text input.
testIDPrefixstringYes'otpinput'testID prefix, the result will be otp_input_0 until inputCount
autoFocusboolYesfalseInput should automatically get focus when the components loads

Helper Functions

Clearing and Setting values to component

// using traditional ref
clearText = () => {
    this.otpInput.clear();
}

setText = () => {
    this.otpInput.setValue("1234");
}

render() {
    return (
        <View>
            <OTPTextInput ref={e => (this.otpInput = e)} >
            <Button title="clear" onClick={this.clearText}>
        </View>
    );
}
// hooks
import React, { useRef } from 'react';

const ParentComponent = () => {
    let otpInput = useRef(null);

    const clearText = () => {
        otpInput.current.clear();
    }

    const setText = () => {
        otpInput.current.setValue("1234");
    }

    return (
        <View>
            <OTPTextInput ref={e => (otpInput = e)} >
            <Button title="clear" onClick={clearText}>
        </View>
    );
}

If you like the project

If you think I have helped you, feel free to get me coffee. 😊