diff --git a/README.md b/README.md
index 8d4623bd2a4838a022233b6045823e45f250c142..6d452d917a9bb38ba3c6bd3b9d4ecfa2f61cf7c9 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,7 @@ Needs react-native >= 0.14.2
- selectedValue any
- onPickerDone function
- onPickerCancel function
+- onValueChange function
####Methods
- toggle show or hide picker, default to be hiden
diff --git a/index.js b/index.js
index bab68c3e04b777af63f96e5b45bc4741dd620c16..a535c1f6d30f7570332725495fdbb72e22b695d7 100644
--- a/index.js
+++ b/index.js
@@ -33,7 +33,8 @@ export default class PickerAny extends React.Component {
pickerData: PropTypes.any.isRequired,
selectedValue: PropTypes.any.isRequired,
onPickerDone: PropTypes.func,
- onPickerCancel: PropTypes.func
+ onPickerCancel: PropTypes.func,
+ onValueChange: PropTypes.func
};
static defaultProps = {
@@ -42,7 +43,8 @@ export default class PickerAny extends React.Component {
pickerHeight: 250,
showDuration: 300,
onPickerDone: ()=>{},
- onPickerCancel: ()=>{}
+ onPickerCancel: ()=>{},
+ onValueChange: ()=>{}
};
constructor(props, context){
@@ -81,6 +83,7 @@ export default class PickerAny extends React.Component {
let selectedValue = props.selectedValue;
let onPickerDone = props.onPickerDone;
let onPickerCancel = props.onPickerCancel;
+ let onValueChange = props.onValueChange;
let pickerStyle = pickerData.constructor === Array ? 'parallel' : 'cascade';
let firstWheelData;
@@ -126,6 +129,7 @@ export default class PickerAny extends React.Component {
selectedValue,
onPickerDone,
onPickerCancel,
+ onValueChange,
//list of first wheel data
firstWheelData,
//first wheel selected value
@@ -224,6 +228,7 @@ export default class PickerAny extends React.Component {
me.setState({
selectedValue: JSON.parse(JSON.stringify(me.pickedValue))
});
+ me.state.onValueChange(JSON.parse(JSON.stringify(me.pickedValue)), index);
}} >
{item.map((value, index) => (
{me.state.thirdWheelData.map((value, index) => (
@@ -379,6 +386,7 @@ export default class PickerAny extends React.Component {
thirdPickedDataIndex: 0,
selectedValue: 'wheel2'+index
});
+ me.state.onValueChange(JSON.parse(JSON.stringify(me.pickedValue)), 1);
me.refs.thirdWheel && me.refs.thirdWheel.moveTo && me.refs.thirdWheel.moveTo(0);
}} >
{me.state.secondWheelData.map((value, index) => (
diff --git a/package.json b/package.json
index 5af20733e8f036cfac5f75d97f15159ab8848a18..268aef9359a96de2c3cff59f9245e3241bf09824 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "react-native-picker",
- "version": "0.3.5",
+ "version": "0.4.0",
"description": "react-native-picker",
"main": "index.js",
"scripts": {