react-native-search-engine
v1.1.33
Published
It is a type of search engine like the "html5's browsers input", it can be used to auto-complete words or to search for elements within an array or object.
Downloads
31
Maintainers
Readme
React Native Search Engine
Alert the library is subject to change at least the next 2 months.
>> Examples
It is a type of search engine like the "html5's browsers input", it can be used to auto-complete words or to search for elements within an array or object.
Documentation
React Native Search Engine Component
| Name | Description | Default | Type | Criterion | |---------------------------|------------------------------------------|-------------|---------|-----------| | searchKey | If you are working with an array of objects and you want to search by a specific property that all objects have in common, can put something like 'user.name' | "" | String | Optional | | value | If you want me to submit an initial search | "" | String | Optional | | data | The data to searching | [ ] | Array | Optional | | textInfoStyle | Text information styles | { } | Object | Optional | | buttonEnabled | If you want show or not the button | true | Boolean | Optional | | showAllMode | If you want to show all options when it can't find anything | false | Boolean | Optional | | showNoResults | Doesn't show the options, but the onChange Element gives me the filtered data | false | Boolean | Optional | | textInputStyle | Input text styles | { } | Object | Optional | | placeholder | Help text | 'Search' | String | Optional | | containerInputStyle | Styles of input text containing | { } | Object | Optional | | containerTextInfoStyle | Styles of information text containing | { } | Object | Optional | | containerTextError | Styles of input text containing | { } | Object | Optional | | textInfoStyleError | Styles of information text containing | { } | Object | Optional | | containerScrollStyle | Text tag container stylesl | { } | Object | Optional | | containerButtonStyle | Options display styles | { } | Object | Optional | | containerIconStyle | Icon Styles | { } | Object | Optional | | onChangeSearch | Get the text or object | onChangeSearch={object => setOption(object)} | Function | Optional | | customizeComponentInput | Used to return an input component | customizeComponentInput | Object | Optional | | customizComponenteResult | It is used to return an output component | ({ valueResult, element }) => < CustomizComponenteResult/> | Function | Optional | | leftIcon | This is used to customize the icon | () => < leftIcon/> | Function | Optional | | error | you can set if have or no error | false | Boolean | Optional |
When you want to customize the component you need set this customizeComponentInput object:
| Name | Description | Default | Type | Criterion | |---------------------------|------------------------------------------|-------------|---------|-----------| | InputCutom |It is the input component that you want to set |undefine| Array | Optional | | addPropsInput |The properties that you want to pass to the custom component |undefine| Object | Optional |
Warning
Strings beginning with the following characters will not be found:
| | | Characters |------|---------------|-------------------| | 1 | | + | | 2 | | : | | 3 | | ( | | 4 | | * | | 5 | | ? | | 6 | | \ | | 7 | | [ | | 8 | | . | | 9 | | ^ | | 10 | | | | | 11 | | ) |
How Implement
Simpler way
<SearchEngine
data={data}
searchKey={'properties.emails.0'}
onChangeSearch={object => setOption(object)}
buttonEnabled={true}
placeholder={'email'}
/>
Complexer way
import { Icon } from 'native-base';
<SearchEngine
data={data}
searchKey={'properties.emails.0'}
onChangeSearch={object => setOption(object)}
buttonEnabled={true}
placeholder={'email'}
containerIconStyle={styles.containerIconStyle}
containerInputStyle={styles.containerInputStyle}
containerScrollStyle={styles.containerScrollStyle}
containerTextInfoStyle={styles.containerTextInfoStyle}
containerButtonStyle={styles.containerButtonStyle}
leftIcon={() => <Icon name="arrow-down" />}
/>
Example
Author
Johan Navarro | https://johansolution.com