如何使用更新的默认值重新呈现 DatePicker?

How do you re-render DatePicker with updated defaultValue?

我在以下场景中使用 DatePicker:

  1. 渲染使用了 DatePicker 的表单
  2. 在 componentDidMount 上,获取表单的保存信息(如果之前保存过)
  3. 将 DatePicker 的属性 defaultValueundefined 设置为获取的值

看起来很简单。但是,由于 DatePicker 的行为是仅在第一次渲染时渲染 defaultValue,因此在获取值(第二次渲染)时显然是空的。

我看到的其他两个选项:

  1. 有一个受控组件 - 手动操作值(在获取时提供它,然后在 onChange 触发时更改它)

  2. 仅在没有要获取的内容(新表单)或数据已获取并准备好填充时才呈现 DatePicker。

关于实现此目标的最佳方法有什么想法吗?

更新:我不再使用 React,所以不想重新测试它,但我强烈怀疑它不再有效。

之前的回答

与其填充 defaultDate 道具,不如将 value 道具挂接到您想要设置的任何位置。使用这种方法,您还需要连接一个 onChange 处理程序。它看起来像这样:

onChange(event, newValue) {
  this.setState({myDate: newValue})
},
render() {
  return (
    ...
    <DatePicker value={this.state.myDate} onChange={this.onChangeHandler}>
    ...
  )
},

或者,您可以使用 React 的 LinkedStateMixinDatePickervalueLink prop.

来使用双向绑定功能