@@ -110,7 +110,7 @@ export default class PickerAny extends React.Component {
110110 cascadeData = this . _getCascadeData ( pickerData , selectedValue , firstPickedData , secondPickedData , true ) ;
111111 }
112112 //save picked data
113- this . pickedValue = selectedValue ;
113+ this . pickedValue = JSON . parse ( JSON . stringify ( selectedValue ) ) ;
114114 this . pickerStyle = pickerStyle ;
115115 return {
116116 pickerBtnText,
@@ -217,8 +217,12 @@ export default class PickerAny extends React.Component {
217217 selectedValue = { me . state . selectedValue [ index ] }
218218 onValueChange = { value => {
219219 me . pickedValue . splice ( index , 1 , value ) ;
220+ //do not set state to another object!! why?
221+ // me.setState({
222+ // selectedValue: me.pickedValue
223+ // });
220224 me . setState ( {
221- selectedValue : me . pickedValue
225+ selectedValue : JSON . parse ( JSON . stringify ( me . pickedValue ) )
222226 } ) ;
223227 } } >
224228 { item . map ( ( value , index ) => (
@@ -303,7 +307,8 @@ export default class PickerAny extends React.Component {
303307 //on ios platform 'this' refers to Picker?
304308 me . pickedValue . splice ( 2 , 1 , me . state . thirdWheelData [ index ] ) ;
305309 me . setState ( {
306- thirdPickedDataIndex : index
310+ thirdPickedDataIndex : index ,
311+ selectedValue : 'wheel3' + index
307312 } ) ;
308313 } } >
309314 { me . state . thirdWheelData . map ( ( value , index ) => (
@@ -336,7 +341,7 @@ export default class PickerAny extends React.Component {
336341 }
337342
338343 me . setState ( {
339- selectedValue : value ,
344+ selectedValue : 'wheel1' + value ,
340345 firstPickedData : value ,
341346 secondWheelData : cascadeData . secondWheelData ,
342347 secondPickedDataIndex : 0 ,
@@ -371,7 +376,8 @@ export default class PickerAny extends React.Component {
371376 me . setState ( {
372377 secondPickedDataIndex : index ,
373378 thirdWheelData,
374- thirdPickedDataIndex : 0
379+ thirdPickedDataIndex : 0 ,
380+ selectedValue : 'wheel2' + index
375381 } ) ;
376382 me . refs . thirdWheel && me . refs . thirdWheel . moveTo && me . refs . thirdWheel . moveTo ( 0 ) ;
377383 } } >
0 commit comments