Commit 90451c37 authored by xwenliang's avatar xwenliang

add onValueChange

parent 1f20b69f
...@@ -34,6 +34,7 @@ Needs react-native >= 0.14.2 ...@@ -34,6 +34,7 @@ Needs react-native >= 0.14.2
- <b>selectedValue</b> any - <b>selectedValue</b> any
- <b>onPickerDone</b> function - <b>onPickerDone</b> function
- <b>onPickerCancel</b> function - <b>onPickerCancel</b> function
- <b>onValueChange</b> function
####Methods ####Methods
- <b>toggle</b> show or hide picker, default to be hiden - <b>toggle</b> show or hide picker, default to be hiden
......
...@@ -33,7 +33,8 @@ export default class PickerAny extends React.Component { ...@@ -33,7 +33,8 @@ export default class PickerAny extends React.Component {
pickerData: PropTypes.any.isRequired, pickerData: PropTypes.any.isRequired,
selectedValue: PropTypes.any.isRequired, selectedValue: PropTypes.any.isRequired,
onPickerDone: PropTypes.func, onPickerDone: PropTypes.func,
onPickerCancel: PropTypes.func onPickerCancel: PropTypes.func,
onValueChange: PropTypes.func
}; };
static defaultProps = { static defaultProps = {
...@@ -42,7 +43,8 @@ export default class PickerAny extends React.Component { ...@@ -42,7 +43,8 @@ export default class PickerAny extends React.Component {
pickerHeight: 250, pickerHeight: 250,
showDuration: 300, showDuration: 300,
onPickerDone: ()=>{}, onPickerDone: ()=>{},
onPickerCancel: ()=>{} onPickerCancel: ()=>{},
onValueChange: ()=>{}
}; };
constructor(props, context){ constructor(props, context){
...@@ -81,6 +83,7 @@ export default class PickerAny extends React.Component { ...@@ -81,6 +83,7 @@ export default class PickerAny extends React.Component {
let selectedValue = props.selectedValue; let selectedValue = props.selectedValue;
let onPickerDone = props.onPickerDone; let onPickerDone = props.onPickerDone;
let onPickerCancel = props.onPickerCancel; let onPickerCancel = props.onPickerCancel;
let onValueChange = props.onValueChange;
let pickerStyle = pickerData.constructor === Array ? 'parallel' : 'cascade'; let pickerStyle = pickerData.constructor === Array ? 'parallel' : 'cascade';
let firstWheelData; let firstWheelData;
...@@ -126,6 +129,7 @@ export default class PickerAny extends React.Component { ...@@ -126,6 +129,7 @@ export default class PickerAny extends React.Component {
selectedValue, selectedValue,
onPickerDone, onPickerDone,
onPickerCancel, onPickerCancel,
onValueChange,
//list of first wheel data //list of first wheel data
firstWheelData, firstWheelData,
//first wheel selected value //first wheel selected value
...@@ -224,6 +228,7 @@ export default class PickerAny extends React.Component { ...@@ -224,6 +228,7 @@ export default class PickerAny extends React.Component {
me.setState({ me.setState({
selectedValue: JSON.parse(JSON.stringify(me.pickedValue)) selectedValue: JSON.parse(JSON.stringify(me.pickedValue))
}); });
me.state.onValueChange(JSON.parse(JSON.stringify(me.pickedValue)), index);
}} > }} >
{item.map((value, index) => ( {item.map((value, index) => (
<PickerItem <PickerItem
...@@ -310,6 +315,7 @@ export default class PickerAny extends React.Component { ...@@ -310,6 +315,7 @@ export default class PickerAny extends React.Component {
thirdPickedDataIndex: index, thirdPickedDataIndex: index,
selectedValue: 'wheel3'+index selectedValue: 'wheel3'+index
}); });
me.state.onValueChange(JSON.parse(JSON.stringify(me.pickedValue)), 2);
}} > }} >
{me.state.thirdWheelData.map((value, index) => ( {me.state.thirdWheelData.map((value, index) => (
<PickerItem <PickerItem
...@@ -348,6 +354,7 @@ export default class PickerAny extends React.Component { ...@@ -348,6 +354,7 @@ export default class PickerAny extends React.Component {
thirdWheelData: cascadeData.thirdWheelData, thirdWheelData: cascadeData.thirdWheelData,
thirdPickedDataIndex: 0 thirdPickedDataIndex: 0
}); });
me.state.onValueChange(JSON.parse(JSON.stringify(me.pickedValue)), 0);
me.refs.secondWheel && me.refs.secondWheel.moveTo && me.refs.secondWheel.moveTo(0); me.refs.secondWheel && me.refs.secondWheel.moveTo && me.refs.secondWheel.moveTo(0);
me.refs.thirdWheel && me.refs.thirdWheel.moveTo && me.refs.thirdWheel.moveTo(0); me.refs.thirdWheel && me.refs.thirdWheel.moveTo && me.refs.thirdWheel.moveTo(0);
}} > }} >
...@@ -379,6 +386,7 @@ export default class PickerAny extends React.Component { ...@@ -379,6 +386,7 @@ export default class PickerAny extends React.Component {
thirdPickedDataIndex: 0, thirdPickedDataIndex: 0,
selectedValue: 'wheel2'+index 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.refs.thirdWheel && me.refs.thirdWheel.moveTo && me.refs.thirdWheel.moveTo(0);
}} > }} >
{me.state.secondWheelData.map((value, index) => ( {me.state.secondWheelData.map((value, index) => (
......
{ {
"name": "react-native-picker", "name": "react-native-picker",
"version": "0.3.5", "version": "0.4.0",
"description": "react-native-picker", "description": "react-native-picker",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment