Javascript 如何使用更新的defaultValue重新呈现DatePicker?
我在以下场景中使用DatePicker:Javascript 如何使用更新的defaultValue重新呈现DatePicker?,javascript,reactjs,datepicker,material-ui,Javascript,Reactjs,Datepicker,Material Ui,我在以下场景中使用DatePicker: 呈现使用DatePicker的窗体 在componentDidMount上,获取表单保存的信息(如果以前保存过) 将日期选择器的属性defaultValue从undefined设置为获取的值 看起来很简单。但是,由于DatePicker的行为是仅在第一次渲染时渲染defaultValue,因此在获取值(第二次渲染)时,它显然是空的 我看到的另外两个选择: 拥有一个受控组件-手动操作值(在获取值时提供该值,然后在onChange激发时更改该值) 仅当没有要
defaultValue
从undefined
设置为获取的值defaultValue
,因此在获取值(第二次渲染)时,它显然是空的
我看到的另外两个选择:
关于实现这一点的最佳方法有什么想法吗?与其填充
defaultDate
属性,不如将值
属性挂接到您想要设置的任何位置。使用这种方法,您还需要连接一个onChange
处理程序。它看起来像这样:
onChange(event, newValue) {
this.setState({myDate: newValue})
},
render() {
return (
...
<DatePicker value={this.state.myDate} onChange={this.onChangeHandler}>
...
)
},
onChange(事件,newValue){
this.setState({myDate:newValue})
},
render(){
返回(
...
...
)
},
或者,您可以使用React的
LinkedStateMixin
和DatePicker
的valueLink
道具使用双向绑定功能。谢谢,我最终选择了选项2(获取默认值后呈现组件),而不是实现受控组件(更少的代码重写)但是我来看看这个LinkedStateMixin
听起来很有趣。谢谢