react-native-multi-select-picker
v1.0.11
Published
multiple selection picker for react-native
Downloads
320
Maintainers
Readme
react-native-multi-select-picker
react-native-select-multiple is a customiseable flatlist picker that allows you to select multiple items.
Install
npm install react-native-multi-select-picker
Usage
import * as React from 'react'
import { StyleSheet, Text, View, TouchableOpacity, Image, ScrollView } from 'react-native'
import { MultipleSelectPicker } from 'react-native-multi-select-picker'
export default class App extends React.Component<any, {}> {
state = {
selectectedItems: [],
isShownPicker: false
}
multiSelect
render() {
const items = [
{ label: 'itachi', value: '1' },
{ label: 'kakashi', value: '2' },
{ label: 'madara', value: '3' },
{ label: 'menato', value: '4' },
{ label: 'naruto', value: '5' },
{ label: 'hinata', value: '6' },
{ label: 'jiraya', value: '7' },
{ label: 'tsunade', value: '8' },
{ label: 'naruto', value: '9' },
{ label: 'sasuke', value: '10' },
{ label: 'hashirama', value: '11' },
{ label: 'tobirama', value: '12' },
{ label: 'pain', value: '13' },
{ label: 'sarada', value: '14' },
{ label: 'sakura', value: '15' },
{ label: 'asura', value: '16' },
{ label: 'indra', value: '17' }
]
return (
<ScrollView>
<TouchableOpacity
onPress={() => {
this.setState({ isShownPicker: !this.state.isShownPicker })
}}
style={{ height: 50, width: '100%', justifyContent: 'center', alignItems: 'center', backgroundColor: '#dadde3' }}
>
<Text>Picker</Text>
</TouchableOpacity>
{this.state.isShownPicker ? <MultipleSelectPicker
items={items}
onSelectionsChange={(ele) => { this.setState({ selectectedItems: ele }) }}
selectedItems={this.state.selectectedItems}
buttonStyle={{ height: 100, justifyContent: 'center', alignItems: 'center' }}
buttonText='hello'
checkboxStyle={{ height: 20, width: 20 }}
/>
: null
}
{(this.state.selectectedItems || []).map((item: any, index) => {
return <Text key={index}>
{item.label}
</Text>
})}
</ScrollView >
)
}
}
Properties
| Prop | Default | Type | Description |
| :------------ |:---------------:| :---------------:| :-----|
| items | - | array
| All items available in the list (array of string
or { label, value }
) |
| selectedItems | []
| array
| The currently selected items (array of string
or { label, value }
) |
| onSelectionsChange | - | func
| Callback called when a user selects or de-selects an item, passed (selections, item)
|
| keyExtractor | index
| func
| keyExtractor prop for the FlatList
|
| checkboxSource | image | object
| Image source for the checkbox (unchecked). |
| selectedCheckboxSource | image | object
| Image source for the checkbox (checked). |
| flatListProps | {} | object
| Additional props for the flat list |
| style | default styles | object
| Style for the FlatList
container. |
| rowStyle | default styles | object
| Style for the row container. |
| checkboxStyle | default styles | object
| Style for the checkbox image. |
| labelStyle | default styles | object
| Style for the text label. |
| selectedRowStyle | default styles | object
| Style for the row container when selected. |
| selectedCheckboxStyle | default styles | object
| Style for the checkbox image when selected. |
| selectedLabelStyle | default styles | object
| Style for the text label when selected. |
| renderLabel | null | func
| Function for render label. |
Contribute
Fell free to modify or open issues or to give pull requests..