React native 如何在React Native中关闭选择器?

React native 如何在React Native中关闭选择器?,react-native,native-base,React Native,Native Base,我正在使用本机的基选择器。 我想手动关闭它,但找不到此的API。 组件不包含任何方法或道具,如visible 如何关闭/隐藏选择器?a):您可以简单地基于此渲染它。state.isPickerVisible,或b):将其包装在具有可见道具的模式中 对于关闭选择器,如果您选择将其包装在一个模式中,则使该模式占据整个屏幕,并使用无反馈触摸来处理选择器外部的点击:this.cancelPressed()}>其中cancel pressed切换为isPickerVisible {this.state.i

我正在使用本机的基选择器。 我想手动关闭它,但找不到此的API。 组件不包含任何方法或道具,如
visible

如何关闭/隐藏选择器?

a):您可以简单地基于此渲染它。state.isPickerVisible,或b):将其包装在具有可见道具的模式中

对于关闭选择器,如果您选择将其包装在一个模式中,则使该模式占据整个屏幕,并使用无反馈触摸来处理选择器外部的点击:
this.cancelPressed()}>
其中cancel pressed切换为isPickerVisible

{this.state.isPickerVisible && 
<Picker
  selectedValue={this.state.tempGender}
  onValueChange={tempGender => this.setState({tempGender})}
>
  <Picker.Item label="Female" value="female" />
  <Picker.Item label="Male" value="male" />
  <Picker.Item label="Other" value="other" />
</Picker>}
{this.state.isPickerVisible&&
this.setState({tempGender})
>
}
如果选择将其包装在模态中,则可以获得一些动画选项

import {Modal, Picker ... etc...} from 'react-native'

    <Modal
      animationType="slide"
      transparent={true}
      visible={this.state.isPickerVisible}
    >
 <TouchableWithoutFeedback onPress={() => this.cancelPressed()}>
  <View>
    <Picker
      selectedValue={this.state.tempGender}
      onValueChange={tempGender => this.setState({tempGender})}
    >
      <Picker.Item label="Female" value="female" />
      <Picker.Item label="Male" value="male" />
      <Picker.Item label="Other" value="other" />
    </Picker>
  </View>
 </TouchableWithoutFeedback>
</Modal>
从'react native'导入{Modal,Picker…等..}
this.cancelPressed()}>
this.setState({tempGender})
>

my案例中,使用
renderHeader
函数和
backAction
参数就足够了

<Picker
    renderHeader={backAction => (
        <Button onPress={() => {
            backAction();
            someFunction();
        }}
    )}
/>
(
{
反作用();
someFunction();
}}
)}
/>

看起来它只有默认的关闭动作,你应该看看它的代码,看看它调用了什么方法来关闭pickerI用
this.state.isPickerVisible尝试过的pickerI。我不喜欢视觉行为如果你想要动画,试着将它包装在一个模式中,让它滑入滑出,或者淡入淡出。