現在、2つのオプションを使用してiOSでテストしているピッカーがあります。最初のオプションから2番目のオプションにドラッグダウンするたびに、ピッカーはすぐに最初のオプションに戻ります。
これは、ピッカーのコードがどのように見えるかです。
<Picker
style={{
width: 100,
}}
selectedValue={(this.state && this.state.pickerValue) || 'a'}
onValueChange={(value) => {
this.setState({value});
}} itemStyle={{color: 'white'}}>
<Picker.Item label={'Hello'} value={'a'} />
<Picker.Item label={'World'} value={'b'} />
</Picker>
セレクターを新しくスクロールされたオプションのままにしておきたい。 selectedValue
属性の|| 'a'
部分も削除しましたが、それでも問題は解決しませんでした。
値の変更時には、状態のどのプロパティが変更されたかを指定し、それに応じてthis.setStateで変更する必要があります
onValueChange={(value) => {this.setState({pickerValue: value});
完全なコード
<Picker
style={{
width: 100,
}}
selectedValue={(this.state && this.state.pickerValue) || 'a'}
onValueChange={(value) => {
this.setState({pickerValue: value});
}} itemStyle={{color: 'white'}}>
<Picker.Item label={'Hello'} value={'a'} />
<Picker.Item label={'World'} value={'b'} />
</Picker>