不允许更改时间React-DatePicker

时间:2018-10-23 23:11:26

标签: javascript reactjs momentjs react-datepicker

我正在使用React-DatePicker包和momentjs,让用户在看起来像这样的输入中选择日期:

enter image description here

我想显示时间,但不允许用户直接从<input>更改时间。我的日期选择器具有onChange()函数:

onExpirationDateChange(date) {
   this.setState({selectedTime: date.unix()});
}

有人知道我如何实现显示时间,但不让用户更改时间吗?

3 个答案:

答案 0 :(得分:0)

我会这样推荐:

document.getElementsByTagName("inputdate")[0].setAttribute("readonly", "readonly"); 

您可能会说,它已设置为只读,因此无法再在输入中写内容,但是如果需要,他们仍然可以复制文本。

答案 1 :(得分:0)

按照此页面上的示例:https://reactdatepicker.com/

您可以尝试这样做,以防止用户选择时间...

<DatePicker
  selected={this.state.startDate}
  onChange={this.handleChange}
  showTimeSelect
  excludeTimes={[moment().hours(17).minutes(0), moment().hours(18).minutes(30), moment().hours(19).minutes(30)], moment().hours(17).minutes(30)}
  dateFormat="LLL"
/>

答案 2 :(得分:0)

自己找到答案。只需在选择器上设置readOnly,并确保不包括时间选择选项即可。