当前位置: 首页 > 知识库问答 >
问题:

如何在reactjs中禁用未来日期?

乌鸿宝
2023-03-14

我没有使用任何日期选择器仍然代码工作正常。我已经选择了输入类型日期和一切工作正常。现在我想禁用未来的日期。我该怎么做呢?

<div className="form-group col-md-6">
                            <label for="inputDate4">Date of Birth</label>
                            <input type="date" className="form-control" id="inputDate4" placeholder="Date of Birth" name="dob" onChange={this.handleChange} />
                        </div>

编辑:通过其他方式解决问题

我用过日期选择器

它是如此容易实现。只需安装npm包

npm install react-datepicker --save

同时安装力矩传感器

npm install moment --save

导入库

import DatePicker from 'react-datepicker';
import moment from 'moment';
import 'react-datepicker/dist/react-datepicker.css';

在构造函数中

this.state = {
      dob: moment()
    };
    this.dateChange = this.dateChange.bind(this);

dateChange函数

dateChange(date) {
    this.setState({
      dob: date
    });
  }

最后是渲染函数

 <DatePicker
     selected={this.state.dob}
     onChange={this.dateChange}
     className="form-control"
    placeholder="Date of Birth"
    maxDate={new Date()}
    />

这里使用maxDate函数来禁用未来的日期。

maxDate={new Date()}

资料来源:https://www.npmjs.com/package/react-datepicker

谢谢你!

共有3个答案

樊浩初
2023-03-14
var input = new Date ("inputgotBackfromthe user")    
var now = new Date();
if (before < now) {
  // selected date is in the past
}

您需要尝试将输入转换为日期对象,然后可以创建一个新的日期对象,并检查输入日期对象是否较旧。请记住,这将是巨大的,因为用户必须以正确的格式输入。否则,您可能会得到一个异常或错误的日期对象。

伍耀
2023-03-14

maxDate帮我完成了任务。尝试使用minDate进行最短日期选择。

import moment from 'moment';
import DatePicker from 'react-datepicker';

<DatePicker maxDate={moment().toDate()} />
公良昕
2023-03-14

您可以使用minmax属性来限制日期范围内的日期选择

<div className="form-group col-md-6">
     <label for="inputDate4">Date of Birth</label>
     <input type="date" className="form-control" id="inputDate4" placeholder="Date of Birth" name="dob" onChange={this.handleChange} max={moment().format("YYYY-MM-DD")}/>
</div>
 类似资料:
  • 嘿,伙计们,我只是想知道如何在JXDatepicker中禁用未来日期。我所说的未来日期是指当前系统日期之后的天数。我真的需要它来开发一个系统。 任何帮助都将不胜感激。非常感谢。

  • 我正在尝试禁用今天日期和从今天开始的6天以上的日期。 我知道我可以用做到这一点,但是当我这样做的时候,它会禁用所有未来的日期。 我的代码: 我也尝试了,但出现了相同的错误。 有什么想法吗?

  • 日期选择器应该使用哪个类来仅使用未来的日期? 注意:代码是由其他人编写的。上面的代码不允许输入未来日期,或者您可以在日历上单击“禁用未来日期”。我希望代码禁用过去的日期和显示未来的日期年只。我无法了解这些类(datepicker,maxDateToday)是如何在这里工作的;在CSS中找不到它。我不知道上面是否由JQuery执行;如果是,则我无法搜索相同的内容。如果这些类是预定义的,那么你能帮我找

  • 我正在使用Primefaces 3.3编写一个JSF2.0 Mojarra应用程序。1在Tomcat 6上。使用PrimeFaces

  • 我使用引导日期选择器的交付日期。但是我想在当前日期之后禁用两个日期,以便下单后至少需要两天时间准备产品。

  • 我使用上述代码打开日历setSelection方法选择当前日期,setStart仅适用于当前月份,因此我无法选择上个月的日期,但我仍然可以选择当前月份的过去日期。 如果有谁能帮我。请让我知道。谢谢。