Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/minhomega/react-native-multi-select
https://github.com/minhomega/react-native-multi-select
Last synced: about 17 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/minhomega/react-native-multi-select
- Owner: MinhOmega
- License: mit
- Created: 2021-09-20T09:44:31.000Z (about 3 years ago)
- Default Branch: developer
- Last Pushed: 2021-09-20T11:01:16.000Z (about 3 years ago)
- Last Synced: 2023-03-08T20:47:06.673Z (over 1 year ago)
- Language: TypeScript
- Size: 748 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# react-native-multi-select
[![npm version](https://badge.fury.io/js/react-native-multi-select.svg)](https://badge.fury.io/js/react-native-multi-select)
[![npm downloads](https://img.shields.io/npm/dm/react-native-multi-select.svg?style=flat-square)](https://www.npmjs.com/package/react-native-multi-select)Platform independent (Android / iOS) Selectbox | Picker | Multi-select | Multi-picker. The idea is to bring out the common user-interface & user-experience on both platforms.
![demo](https://github.com/MinhOmega/react-native-multi-select/blob/features/implement-typescript/demo.gif)
## Getting started
### How to install 🎹
### `npm install react-native-multi-select`
or
### `yarn add react-native-multi-select`
### Usage 𖣠
```
import React, { useState } from 'react'
import { Text, View } from 'react-native'
import SelectBox from 'react-native-multi-select'
import { xorBy } from 'lodash'// Options data must contain 'item' & 'id' keys
const K_OPTIONS = [
{
item: 'Juventus',
id: 'JUVE',
},
{
item: 'Real Madrid',
id: 'RM',
},
{
item: 'Barcelona',
id: 'BR',
},
{
item: 'PSG',
id: 'PSG',
},
{
item: 'FC Bayern Munich',
id: 'FBM',
},
{
item: 'Manchester United FC',
id: 'MUN',
},
{
item: 'Manchester City FC',
id: 'MCI',
},
{
item: 'Everton FC',
id: 'EVE',
},
{
item: 'Tottenham Hotspur FC',
id: 'TOT',
},
{
item: 'Chelsea FC',
id: 'CHE',
},
{
item: 'Liverpool FC',
id: 'LIV',
},
{
item: 'Arsenal FC',
id: 'ARS',
},{
item: 'Leicester City FC',
id: 'LEI',
},
]function App() {
const [selectedTeam, setSelectedTeam] = useState({})
const [selectedTeams, setSelectedTeams] = useState([])
return (
Demos
Select Demo
MultiSelect Demo
)function onMultiChange() {
return (item) => setSelectedTeams(xorBy(selectedTeams, [item], 'id'))
}function onChange() {
return (val) => setSelectedTeam(val)
}
}export default App
```
| Prop | Type | Default Value |
| ------------------------- | :----------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| label | String | Label |
| inputPlaceholder | string | Label |
| listEmptyText | String | "No results found" |
| width | string | "100%" |
| viewMargin | string | "0px" |
| isMulti | boolean | false |
| hideInputFilter | boolean | true |
| selectedValues | array | [] |
| value | array | [] |
| selectIcon | component | |
| labelStyle | style object | Default style |
| containerStyle | style object | Default style |
| inputFilterContainerStyle | style object | Default style |
| inputFilterStyle | style object | Default style |
| optionsLabelStyle | style object | Default style |
| optionContainerStyle | style object | Default style |
| multiOptionContainerStyle | style object | Default style |
| multiOptionsLabelStyle | style object | Default style |
| multiListEmptyLabelStyle | style object | Default style |
| listEmptyLabelStyle | style object | Default style |
| selectedItemStyle | style object | Default style |
searchInputProps | object | Default props |
multiSelectInputFieldProps | object | Default props |
| listOptionProps | object | Default props |
| arrowIconColor | color string | Default primary color |
| searchIconColor | color string | Default primary color |
| toggleIconColor | color string | Default primary color |
| options | array | `[{ item: 'Juventus', id: 'JUVE'},{ item: 'Real Madrid', id: 'RM'},{ item: 'Barcelona', id: 'BR'},{ item: 'PSG', id: 'PSG'},{ item: 'FC Bayern Munich', id: 'FBM'}]` |## Want to be a contributor? 👷🏼♂️👷🏼♀️
Check-in `develop` branch and submit a new pull-request
## Issues or feature request? ✍🏼
You can submit a request on https://github.com/sauzy34/react-native-multi-select/issues
## Support & Share 💆🏼♂️
Please star the repository on Github to enhance the reach to more developers.