React Native Autocomplete Textinput
Simple cross platform (Android/iOS) searchable and scrollable dropdown autocomplete textinput for React Native App!
Features
- Optimised stateless component
- Scroll to load flatlist
- Floating dropdown options
Installation
npm i react-native-dropdown-autocomplete-textinput --save
Examples
Minimal example
; <View> <Autocomplete data=DATA displayKey="name" placeholder='Placeholder1' onSelect= console /></View>;
Using inside ScrollView with multiple Autocompletes
Note: When we want to use Autocomplete inside scrollable view we need to disable parent scroll when keyboard appears refer below code snippet
;;; { superprops; thisstate = scroll: true ; } { return <SafeAreaView style=flex: 1 paddingTop: 70 backgroundColor: '#f0f0ef'> <ScrollView onKeyboardDidShow= this onKeyboardDidHide= this scrollEnabled=thisstatescroll keyboardShouldPersistTaps="handled"> <KeyboardAvoidingView> <Autocomplete data=DATA displayKey="name" placeholder='Placeholder1' onSelect= console maxHeight=200 /> <View style=marginTop: 200></View> <Autocomplete data=DATA displayKey="name" placeholder='Placeholder2' isMandatory=true onSelect= console /> <View style=marginTop: 200></View> <Autocomplete data=DATA displayKey="name" placeholder='Placeholder3' onSelect= console /> </KeyboardAvoidingView> </ScrollView> </SafeAreaView> ; } const DATA = code: 'AP' name: 'Andhra Pradesh' code: 'AR' name: 'Arunachal Pradesh';
For complete implementation checkout app.js file.
Required Props
Property | Type | Default | Description |
---|---|---|---|
data | array | [] | array of objects |
displayKey | string | undefined | key of object to be displayed in the list |
onSelect | function | undefined | callback funtion on selection returns selected object |
Optional Props:
Property | Type | Default | Description |
---|---|---|---|
placeholder | string | undefined | placeholder string |
placeholderColor | string | undefined | placeholderColor string |
isMandatory | boolean | false | shows astreisk in case of mandatory field |
maxHeight | number | undefined | to set maximum height of dropdown list |
floatBottom | boolean | false | to always open dropdown below the textinput |
editable | boolean | true | to disable input |
dropDownIconColor | string | undefinned | to change dropdown image color |
dropDownImage | png | undefined | to set dropdown image |
textInputStyle | object | undefined | For textinput styling |
value | object | undefined | Can be used in case of controlled component |