首页 > 解决方案 > 反应日期选择器禁用手动输入日期

问题描述

我正在为我的表单使用 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"
    />

标签: javascriptreactjsreact-datepicker

解决方案


只需将这行代码添加到DatePicker

onKeyDown={(e) => {
    e.preventDefault();
}}

添加后,event您的组件代码将与以下相同:

<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"
    onKeyDown={(e) => {
       e.preventDefault();
    }}
  />

编辑耐心沉默-ybz45


推荐阅读