1.4.2 • Published 4 years ago
react-native-easy-select v1.4.2
react-native-easy-select
A flexible select component for React Native.
Table of Contents
Features
- Easy to use
- Easy to customize
- Pure javascript
- Lightweight package
Install
yarn add react-native-easy-select
or
npm i --save react-native-easy-select
Usage
import Selector from 'react-native-easy-select'; // Import package
const Example = () => (
<Selector
theme="dropdown" // Default: 'simple'
items={[
{ myLabel: 'English', myValue: 'english' },
{ myLabel: 'French', myValue: 'french' },
]}
// Specify key
valueKey="myValue" // Default: 'value'
labelKey="myLabel" // Default: 'label'
defaultValue="english" // Set default value
placeholder="Select a language" // Placeholder for dropdown UI
loading={false} // Set loading for selector
disabled ={false} // Set disable for selector
// Styles
textOptionStyle={{ color: 'green' }}
placeholderContainerStyle={{ paddingVertical: 20 }}
placeholderStyle={{ color: 'red' }}
optionContainerStyle={{ backgroundColor: 'yellow' }}
iconStyle={{ tintColor: 'black' }}
loadingStyle={{ marginBottom: 10 }}
// Change dropdown icon
iconDropdownComponent={() => <AppText>Demo</AppText>}
// On value change
onChange={(value) => console.log(value)}
/>
);
export default Example;
Props
Name | Type | Default | Description |
---|---|---|---|
items | Array | [] | Required. The items for the component to render. You can specify value and label via valueKey and labelKey |
onChange | Function | (value) => {} | Required. Callback when the change the value button is pressed. |
valueKey | String | 'value' | Key name to specify value props of object |
labelKey | String | 'label' | Key name to specify label props of object |
theme | String = 'simple' or 'dropdown' | 'simple' | Required. Specify the UI for select components. Default is simple and dropdown UI is dropdown . |
defaultValue | String or Numer | '' | Specify the default value of the selector. This value will be compared with the value of valueKey . |
loading | String or Numer | false | Show ActivityIndicator when loading. |
disabled | String or Numer | false | Disable all interactions for selector. |
iconDropdownComponent | Function | null | Custom icon component to be rendered. |
defaultValue | String or Numer | '' | Specify the default value of the selector. This value will be compared with the value of valueKey . |
placeholder | String | '' | Set placeholder for dropdown UI. |
containerStyle | Object | null | Style overrides for container View of component. |
optionContainerStyle | Object | null | Style overrides for View container of each option. |
placeholderContainerStyle | Object | null | Style overrides for container View wrap of placeholder. |
placeholderStyle | Object | null | Style overrides for Text of placeholder. |
textOptionStyle | Object | null | Style overrides for Text of each option. |
iconStyle | Object | null | Style overrides for icon component. |
loadingStyle | Object | null | Style overrides for ActivityIndicator component. |
Contribution
Contribution are always welcome and recommended! Here is how:
- Fork the repository (here is the guide).
- Clone to your machine
git clone https://github.com/YOUR_USERNAME/react-native-easy-select.git
- Make your changes
- Create a pull request
License
react-native-easy-select
is released under the MIT license. See LICENSE for details.
Any question or support will welcome.