【问题标题】:useFormik React - Update initialValuesuseFormik React - 更新初始值
【发布时间】:2020-12-09 06:54:30
【问题描述】:

我正在使用 useFormik 挂钩进行数据处理。添加数据很好,但是当我想更新同一组件中的数据时,我需要将初始值更改为自定义对象,而不是使用空字符串。有没有使用 useFormik Hook 的 formik 方法?虽然我可以通过状态来实现这一点,但是一直使用 formik 会有什么好处。 请帮忙!

const formik = useFormik({
        initialValues: {
            name: '',
            post: '',
            contact: '',
            email: '',
            password: '',
        },
        onSubmit: values => {
            //handling submit
        },
    });

表格:

  <form className={classes.form} onSubmit={formik.handleSubmit}>
                    <Grid container spacing={2}>
                        <Grid item xs={12} sm={6}>
                            <TextField
                                autoComplete="name"
                                variant="outlined"
                                required
                                fullWidth
                                label="Name"
                                autoFocus
                                id="name"
                                name="name"
                                onChange={formik.handleChange}
                                value={formik.values.name}
                            />
                        </Grid>
                        <Grid item xs={12} sm={6}>
                            <TextField
                                variant="outlined"
                                required
                                fullWidth
                                label="Post"
                                autoComplete="post"
                                id="post"
                                name="post"
                                onChange={formik.handleChange}
                                value={formik.values.post}

                            />
                        </Grid>
//Submit button and form close etc

谢谢

【问题讨论】:

  • 为什么要更新初始值?如果您更新了初始值,它们将不仅仅是初始值。
  • 就像用户点击编辑图标时,应该填充自定义值,因此我想更改初始值。

标签: reactjs forms react-native formik


【解决方案1】:

我找到了解决方案: 对于一个字段

const editEmployee = ()=> {
    formik.setFieldValue("name","Imran");
    alert("changed")     
}

对于多个:

formik.setValues({"name":"hey","post":"hoii"});

或发送整个对象

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 2019-11-29
    • 2015-03-11
    相关资源
    最近更新 更多