使用Formik的React-Native Picker

Jer*_*rry 5 javascript forms picker react-native

我的基本表单可以正常工作,但是,由于有一些关于react-native的警告,我可以使用一些帮助来了解问题是我如何使用formik还是将其与react-native一起使用。

在此特定表单中,当我尝试使用formik填写反应器中的选择器时,在选择选项后,该表单会立即将选择器重置为原始值。我已经剥离了代码,因为我觉得有人应该在没有很多代码的情况下得到答案,但是我没有看到我所缺少的内容。谢谢。

<Formik
    onSubmit={
    props.onSubmit(props.values)
  }

  mapPropsToValues = {(props) => ({
    id: props.id,
    status: props.status
  })}

  validate={values => {
    // same as above
    let errors = {};
    return errors;
  }}

  onValueChange={ (itemIndex) => {
    this.props.values.status = itemIndex
  }}

  render= { props => (
    const { id, status } = this.props
    <View>
      <Text style={styles.textResultsHeaderStyle}>Job: {id}</Text>
      <Picker
        selectedValue={status}
        onValueChange={itemIndex => this.onValueChange}>
        <Picker.Item label="New" value="0" />
        <Picker.Item label="Requested" value="1" />
        <Picker.Item label="Responded" value="2" />
        <Picker.Item label="Closed" value="3" />
      </Picker>
      <RoundedButton disabled={props.isSubmitting} onPress={props.handleSubmit} text="SUBMIT" />
    </View>
  )}
/>
Run Code Online (Sandbox Code Playgroud)

小智 9

我刚刚在github上回答了一个类似的问题。我想您正在使用 RN 中的内置选择器组件。
如果没有,那么您需要检查选择器组件的文档以了解如何获取更改值。
https://github.com/jaredpalmer/formik/issues/1378#issuecomment-480189488