2017-09-25 31 views
0

我正在使用来自antd的DatePicker在antd的DatePicker中处理日期时间的手动编辑

<LocaleProvider locale={enUS}> 
    <DatePicker 
     format="MM/D/YYYY HH:mm" 
     defaultValue={this.getStartValue()} 
     showTime={{format: 'HH:mm'}} 
     placeholder="Start" 
     allowClear={false} 
     onOk={this.onStartTimeChange} 
    /> 
</LocaleProvider> 
<LocaleProvider locale={enUS}> 
    <DatePicker 
     format="MM/DD/YYYY HH:mm" 
     defaultValue={this.getEndValue()} 
     showTime={{format: 'HH:mm'}} 
     placeholder="End" 
     allowClear={false} 
     onOk={this.onEndTimeChange} 
    /> 
</LocaleProvider> 

我显示的是来自状态的值,并且正在改变新值的状态。现在面临的问题是用户手动编辑时间。

有没有办法来

  1. 防止用户手动更改时编辑输入字段?
  2. 或者用编辑的值改变状态?

因为onChnage会在几乎每个用户单击时改变我的状态多次,因此onChange只能这样做。如果onChange是推荐的方式,那么我们可以避免OK按钮本身?

回答

0

在网上搜索和尝试后。

我们可以使用onChange,这将处理所有的事情。

<DatePicker 
    format='MM/DD/YYYY HH:mm' 
    defaultValue={this.getFromValue()} 
    showTime={{format: 'HH:mm'}} 
    placeholder="Start" 
    allowClear={false} 
    showToday={false} 
    disabledDate={this.disabledFromDate} 
    onChange={this.onStartTimeChange} 
/>