首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用formik时,如何将onChange添加到react-datetime?

在使用formik时,如何将onChange添加到react-datetime?
EN

Stack Overflow用户
提问于 2021-08-17 12:14:53
回答 1查看 86关注 0票数 2

我正在尝试将onChangeformik.handleChange()添加到react-datetime,但它将不起作用。获取错误。如果没有onChange(),它将会工作。但当存在onChange()时,它将不起作用。

没有formik,它就能工作。但我还需要添加formik

代码语言:javascript
复制
const initialValues = {
    enableReinitialize: true,
    validateOnMount: true,
    event_name: "",
    org_name: "",
    event_time: "",
    date_of_the_event: "",
    location: "",
    days_occurs: "",
    event_type: "",
    organizer_name: "",
    org_nic: "",
    cus_email: "",
    cus_con_number: "",
    description: "",
  };
代码语言:javascript
复制
const onSubmit = (values) => {
    console.log("Form Date", values);
};

  const formik = useFormik({
    initialValues,
    onSubmit,
    validationSchema,
  });
代码语言:javascript
复制
                   <Col md="6">
                      <FormGroup>
                        <label>Date of The Event</label>
                        <InputGroup className="input-group-alternative">
                          <InputGroupAddon addonType="prepend">
                            <InputGroupText>
                              <i className="ni ni-calendar-grid-58" />
                            </InputGroupText>
                          </InputGroupAddon>
                          <ReactDatetime
                            inputProps={{
                              placeholder: "Select the Date",
                              name: "date_of_the_event",
                            }}
                            timeFormat={false}
                            onChange={formik.handleChange}
                            onBlur={formik.handleBlur}
                            value={formik.values.date_of_the_event}
                          />
                        </InputGroup>
                      </FormGroup>
                    </Col>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-17 13:50:44

ReactDatetimeonChange返回值(object moment或string)。但是formik.handleChange收到了一个事件。所以你需要像这样更新:

代码语言:javascript
复制
onChange={(value) =>
  formik.handleChange({
    target: {
      name: "date_of_the_event",
      value,
    },
  })
}

或者使用setFieldValue

代码语言:javascript
复制
onChange={(value) =>
  formik.setFieldValue("date_of_the_event", value)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68817193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档