react-native-actionsheet-picker
Version:
A wrapper on top of ActionSheetPicker-3.0 for displaying string picker in an actionsheet
112 lines (92 loc) • 3.3 kB
Markdown
# react-native-actionsheet-picker
A wrapper on top of [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0) for displaying string picker in an actionsheet
### Installation
```bash
npm i --save react-native-actionsheet-picker
```
You need CocoaPods to install `ActionSheetPicker-3.0`.
To integrate ActionSheetPicker-3.0 into your Xcode project using CocoaPods, specify it in your `Podfile`:
```ruby
pod 'ActionSheetPicker-3.0'
```
Then, run the following command:
```bash
$ pod install
```
### Add it to your iOS project
1. Run `npm install react-native-actionsheet-picker --save`
2. Open your project in XCode, right click on `Libraries` and click `Add
Files to "Your Project Name"` [(Screenshot)](http://url.brentvatne.ca/jQp8) then [(Screenshot)](http://url.brentvatne.ca/1gqUD).
3. Add `libCJActionSheetPicker.a` to `Build Phases -> Link Binary With Libraries`
[(Screenshot)](http://url.brentvatne.ca/17Xfe).
4. Whenever you want to use it within React code now you can: `var CountDownPicker = require('NativeModules').CJActionSheetPicker;`
## Example `ActionSheetPicker`
```javascript
var ActionSheetPicker = require('NativeModules').CJActionSheetPicker;
var ExampleApp = React.createClass({
showPicker: function() {
ActionSheetPicker.showStringPicker({
title: 'Fruits', //optional
selectedIndex: 1 //optional intial time,
rows: ['apple', 'orange']
}).then(({ cancelled, selectedIndex, selectedValue }) => {
// console.log(selectedIndex)
});
},
render: function() {
return (
<TouchableHighlight
onPress={this.showPicker}
underlayColor="#f7f7f7">
<View style={styles.container}>
<Image source={require('image!announcement')} style={styles.image} />
</View>
</TouchableHighlight>
);
}
});
```
## Example `ActionSheetPicker` with multiple selection
This depends on [this PR](https://github.com/skywinder/ActionSheetPicker-3.0/pull/321), you can use it now by changing your `Podfile` to:
```ruby
pod 'ActionSheetPicker-3.0', :git => 'https://github.com/oblador/ActionSheetPicker-3.0.git', :branch => 'feature/multiple-selection'
```
```javascript
import { showStringPicker } from 'react-native-actionsheet-picker';
showStringPicker({
title: 'Fruits',
multiple: true,
selectedIndices: [1, 2],
rows: ['apple', 'orange', 'pear', 'potato']
}).then(({ cancelled, selectedIndices, selectedValues }) => {
// console.log(selectedValues);
});
```
## Example `CountDownPicker`
```javascript
var CountDownPicker = require('NativeModules').CJCountDownPicker;
var ExampleApp = React.createClass({
showPicker: function() {
CountDownPicker.showCountDownPicker({
title: 'show', //optional
countDownDuration: '' //optional intial time
}).then(({ cancelled, selectedDate }) => {
if(cancelled) {
AlertIOS.alert('Error', 'select a time');
}
//duration is in seconds.
});
},
render: function() {
return (
<TouchableHighlight
onPress={this.showPicker}
underlayColor="#f7f7f7">
<View style={styles.container}>
<Image source={require('image!announcement')} style={styles.image} />
</View>
</TouchableHighlight>
);
}
});
```