【问题标题】:react-datetime - Can't edit Date or Timereact-datetime - 无法编辑日期或时间
【发布时间】:2022-01-04 18:43:12
【问题描述】:

当点击输入框并输入有效的内容时,输入将被清除,或者一些随机日期和时间将分配给此输入。

它允许我用鼠标选择日期或时间。无论何时输入,输入都会清除或分配随机值。

<Datetime
  value={moment(date)}
  onChange={(date) => setDate(date)}
  dateFormat="DD/MM/YYYY"
  timeFormat="HH:mm:ss"
  utc={true}
/>

当尝试使用“defaultValue”而不是“value”时,这将允许输入日期或时间,但它不会显示我通过我的反应状态传递的“日期”值。

<Datetime
  defaultValue={moment(date)}
  onChange={(date) => setDate(date)}
  dateFormat="DD/MM/YYYY"
  timeFormat="HH:mm:ss"
  utc={true}
/>

图片参考

  • react-datetime 的版本 -> "react-datetime": "^2.16.3",

【问题讨论】:

    标签: javascript node.js reactjs frontend react-datetime


    【解决方案1】:

    您的最佳示例是正确的。您已经构建了一个“受控组件”。 日期存储在您的 date 状态变量中。每当发生更改时,该值都会更新并且元素将被重新渲染。当元素呈现时,它会显示value

    问题是您将原始用户输入发送到 Moment 库,它返回一个奇怪的日期/时间。您需要先“修复”用户的输入,然后再将其传递给 Moment,老实说,没有理由做那么多工作。我会在互联网上寻找更好的日期/时间组件。 (Moment 也被认为是旧的。现在人们更喜欢date-fns。)

    另见:React controlled component

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2015-01-26
      • 1970-01-01
      相关资源
      最近更新 更多