UNPKG

@wezyy1/rn-floating-label-input

Version:

A cross-platform Floating-Label-Input component for React Native.

86 lines (65 loc) 2.75 kB
# @wezyy1/rn-floating-label-input [![Generic badge](https://img.shields.io/badge/npm-6.14.4-green.svg)](https://www.npmjs.com/package/@wezyy1/rn-floating-label-input) This is a **React-Native floating label input component**, that visually combines an input label and the input itself into a single element. The floating label switches from placeholder mode to label when input is focused or has content in it. **Error message is included.** ## Installation Installation can be done by using the **npm install command**: ```bash $ npm install @wezyy1/rn-floating-label-input ``` ## Demo (Default Style) ![demo](https://amberyiyao.github.io/tryUploadImg/floating.gif) ## Basic Usage ```javascript import React from 'react'; import { View } from 'react-native'; import FloatingInput from '@wezyy1/rn-floating-label-input' export default class App extends React.Component{ state = { isInvalid:false, email:'', } emailChange = (text) => { this.setState({ email: text, isInvalid: !this.isEmailRightFormat(text) }) } isEmailRightFormat = (text) => { if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(text)){ return true } return false } render(){ return ( <View style={{width:'100%'}}> <FloatingInput label="E-mail*" floatColor = "#187FC0" isInvalid={this.state.isInvalid} keyboardType="email-address" errorText="Please enter a correct email." onChangeText={this.emailChange} value={this.state.email} /> </View> ) } } ``` [Try this example on Snack](https://snack.expo.io/@zhou0160/restless-salsa) ## API ### Props |Property|Description|Type|Default| |-|:-:|:-:|-:| |label|The text of the input label.|String| | |floatColor|The color when the input field is focused.|String|'#187FC0'| |isInvalid|If true, the label will be displayed in an error state and show error message(if has).|bool|false| |keyboardType|keyboard type popup when the input is focused.|'default', 'number-pad', 'decimal-pad', 'numeric', 'email-address', 'phone-pad'|'default'| |errorText| The error message shows up when the input is invalid. | String | | |value| The value displayed the input field. | String | | |onChangeText| Callback fired when the value is changed. This function will get the value of the input. | Function | | |labelStyle| The style of the lable. | Style Object | | |inputStyle| The style of the text input. | Style Object | | |containerStyle| The style of the container. | Style Object | |