【问题标题】:React Datepicker. How to save time in state?反应日期选择器。如何在状态下节省时间?
【发布时间】:2019-11-06 05:57:31
【问题描述】:

目前,我正在创建一个小项目来学习 React。我正在为我的预订页面使用 React Datepicker。将所选日期保存在 state 中很容易:

state = {
            startDate: new Date(),
            time: null 
} 
handleChange = (date) => {
    this.setState( {startDate: date} )         
}
<DatePicker
        selected={this.state.startDate}
        locale="ru"
        onChange={this.handleChange}
        minTime={setHours(setMinutes(new Date(), 0), 9)}
        maxTime={setHours(setMinutes(new Date(), 0), 22)}
        showTimeSelect
        timeIntervals={60}
        inline
/>

但我也不明白如何在该州节省时间。如果用户不选择时间,当前时间将被保存,但这不是我想要的。我需要将 "time" 作为要求并将其正确保存在状态中。

我将不胜感激!

【问题讨论】:

标签: javascript reactjs react-datepicker


【解决方案1】:

如下设置你的状态

  state={
        startDate:new Date()
        }

        return (
        <DatePicker
      selected={startDate}
      onChange={date => setStartDate(date)}
      timeInputLabel="Time:"
      dateFormat="MM/dd/yyyy h:mm aa"
      showTimeInput
    />
      );

【讨论】:

  • 谢谢,但我需要的是在我的州分别有“时间”和“日期”。
  • @xenia 我编辑了我的代码,请检查。现在,您将在 onChange 中获得时间和日期。
  • 感谢您的工作!无论如何,如果那里只有“startDate”,我不明白我将如何在状态中分别获取时间和日期。我需要的是 "state = { day: "", time: "" }
【解决方案2】:

好吧,最后我不得不添加自己的时间组件并使用它。

【讨论】:

    猜你喜欢
    • 2021-03-27
    • 1970-01-01
    • 2018-12-15
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 2022-08-16
    • 1970-01-01
    相关资源
    最近更新 更多