Reactjs react datepicker接受使用minDate属性禁用的较旧日期

Reactjs react datepicker接受使用minDate属性禁用的较旧日期,reactjs,react-datepicker,Reactjs,React Datepicker,我正在使用react datepicker,如下所示,具有minDate属性 <DatePicker className="form-control" minDate={new Date()} selected={this.props.GrantExpiryDate} onChange={(e) => { this.props.onGrantExpiryDateSubmit(e); }} disabled={disableControl} /> {

我正在使用react datepicker,如下所示,具有minDate属性

<DatePicker
  className="form-control"
  minDate={new Date()} 
  selected={this.props.GrantExpiryDate} 
  onChange={(e) => { this.props.onGrantExpiryDateSubmit(e); }} 
  disabled={disableControl} />
  {this.props.GrantExpiryDate == null ? <div className={styles.requiredValidation}>Please select a date</div> : ''}
{this.props.ongranteExpiryDateSubmit(e);}
disabled={disableControl}/>
{this.props.GrantExpiryDate==null?请选择一个日期:“”
如果我使用DatePicker选择日期,其工作正常,如快照所示

但当我通过手动输入日期选择器控件来输入日期时,它允许我输入禁用的较旧日期

我知道这可以通过自定义函数来处理,但这仍然不是我从minDate属性期望的行为

<DatePicker
  className="form-control"
  minDate={new Date()} 
  selected={this.props.GrantExpiryDate} 
  onChange={(e) => { this.props.onGrantExpiryDateSubmit(e); }} 
  disabled={disableControl} />
  {this.props.GrantExpiryDate == null ? <div className={styles.requiredValidation}>Please select a date</div> : ''}
是否有任何属性或东西可以克服此问题。

尝试使用此属性

<DatePicker
  ...
  onChangeRaw={e => e.preventDefault()}
/>
e.preventDefault()
/>

是的,我这样做了,但它也阻止我以文本的形式手动输入日期。如果你想键入日期,那么在
onChnageRaw
函数中尝试处理比较呢?这是我最后一次选择使用自定义函数来处理它。如果没有其他方法来处理它。我不确定,我认为这是唯一适合你的方法
minDate
可以防止只选择不键入。哎呀!然后我将使用自定义函数来防止这个问题。您也可以在答案中添加该函数。