【问题标题】:Using Formik setFieldValue on componentDidUpdate or on handleSubmit (error: not a function)在 componentDidUpdate 或 handleSubmit 上使用 Formik setFieldValue(错误:不是函数)
【发布时间】:2019-02-04 14:16:44
【问题描述】:

我正在尝试使用 formik 操作 setFieldValue。我在表单中有一个表单(它是一个表单,然后会打开一个带有不同表单的对话框,但某些字段取决于第一个表单中写入的内容)。

数据发送很好,我只是将它作为道具发送....但是..我正在尝试使用setFieldValues 设置该表单中的一些隐藏字段(在无输入中隐藏),但我似乎无法让它工作。

我尝试在componentDidUpdate 中将它用作this.props.setFieldValue,我还尝试将setFieldValue 传递给我的提交函数

onSubmit={(values, setFieldValue) => this.handleSubmit(values, setFieldValue)}

似乎没有任何效果。 setFieldValue 总是抛出 not a function

【问题讨论】:

    标签: javascript reactjs formik


    【解决方案1】:

    试试this.props.form.setFieldValue

    【讨论】:

      【解决方案2】:

      检查函数周围的括号:

      onSubmit={(values, {setFieldValue}) => [...]
      

      一定要在formic标签之后的参数声明中使用类似的语法:

      <Formik  ... >
          {({isSubmitting, setFieldValue}) => (
              <Form> ... 
      

      【讨论】:

        猜你喜欢
        • 2019-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        • 2023-03-10
        • 2023-01-24
        • 1970-01-01
        相关资源
        最近更新 更多