小编Kum*_*ara的帖子

React datepicker 禁用手动输入日期

我正在为我的表单使用 React 日期选择器。目前它运行良好,但用户可以删除日期并输入任何值。我该如何限制它?

这是我的代码:

import DatePicker from "react-datepicker";

    <DatePicker
    name="invoiceDate"
    className="form-control form-control-sm"
    type="text"
    size="sm"
    placeholder=""
    selected={date}
    minDate={new Date()}
    value={values.setDate}
    onChange={datePickerChange}
    dateFormat="dd/MM/yyyy"
    />
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-datepicker

10
推荐指数
1
解决办法
2万
查看次数

单击按钮时对 toastify 做出明确或错误的反应

我正在为我的表单使用react-toastify。目前我在错误或成功消息时显示消息。当用户再次单击时,我需要清除或隐藏所有类型的 toast 通知。请检查下面的代码。

用于 toast 的库 https://www.npmjs.com/package/react-toastify

      const addRecord= (form) => {
     toast.hide(); // i need to hide all toast notification 
    const header = {
      Auth_token: `${appUserConfig.accessTokenName}=${appUserConfig.accessToken}`,
      User_name: appUserConfig.userName,
    };
    httpPost(SAVE_INVOICE, data, header)
      .then((response) => {

        if (response.status === 200) {
          toast.success('Successfully Saved', { position: toast.POSITION.TOP_RIGHT })
        }

      })
      .catch((e) => {
        console.log("e:", e);
        toast.error('Something went wrong', { position: toast.POSITION.TOP_RIGHT, autoClose: false })

      });

  }
Run Code Online (Sandbox Code Playgroud)

根据我的要求,我需要保留错误消息 toast 而不自动关闭。因此,当用户再次单击添加按钮时,我需要清除所有 toast 通知。我如何做到这一点

javascript reactjs

1
推荐指数
1
解决办法
1万
查看次数

反应 formik 禁用具有表单有效性的提交按钮

我正在为我的 React 项目使用 formik 库。当必填字段为空或有任何错误时,我需要首先禁用提交按钮。我使用下面的代码检查了表单状态。

const formik = useFormik(false);

        <Formik
        initialValues={!location.state ? InvoiceInitalValues : location.state}
        validationSchema={POValidation} innerRef={formRef}
        onSubmit={(form, actions, formikHelper) => {
          console.log(form);
          console.log(formRef);
          setTimeout(() => {
            saveInvoice(form, actions, formikHelper);
            actions.setSubmitting(false);
          }, 1000);
        }}
      >
        {({
          handleSubmit,
          handleChange,
          setFieldValue,
          values,
          handleReset,
          errors,
          resetForm, isSubmitting


        }) 
Run Code Online (Sandbox Code Playgroud)

我使用控制台记录的表单状态,但表单始终为“isValid:True”。请检查下图。 在此输入图像描述

我也把它打印在html中。但 isValid 始终为 True。我需要这个来禁用我的按钮

打印状态

 <p> {formik.isValid=== true ? "True" : "False"} </p>
Run Code Online (Sandbox Code Playgroud)

我尝试下面的代码来禁用我的按钮

<Button className="btn btn-primary mr-1" type="submit" disabled={!formik.isValid}>
Run Code Online (Sandbox Code Playgroud)

提交

为什么 formik 表单有效性始终为真,即使必填字段为空。我花了更多的时间来解决这个问题。仍然无法解决这个问题。任何人都知道解决这个问题

reactjs formik

1
推荐指数
1
解决办法
8501
查看次数

标签 统计

reactjs ×3

javascript ×2

formik ×1

react-datepicker ×1