如何让react-native Picker保持新选择的选项?

zav*_*tra 16 javascript ios reactjs react-native

我有一个我正在iOS上测试的选择器,有两种选择.每次我从第一个选项向下拖动到第二个选项时,选择器会立即返回第一个选项.

这就是我的选择器的代码.

<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>
Run Code Online (Sandbox Code Playgroud)

我希望选择器保持在新滚动的选项中.我也删除了属性的|| 'a'一部分,selectedValue但也没有解决问题.

Nak*_*kib 26

在值更改时,您需要指定状态的哪个属性已更改,并使用this.setState相应地更改它

onValueChange={(value) => {this.setState({pickerValue: value});
Run Code Online (Sandbox Code Playgroud)

完整代码

<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>
Run Code Online (Sandbox Code Playgroud)