2016-03-04 53 views
0

我在下列情況下使用的DatePicker:如何使用更新的defaultValue重新呈現DatePicker?

  1. undefined渲染所用的DatePicker
  2. 上componentDidMount形式,獲取表單的保存信息(如果以前保存)
  3. 集的DatePicker的道具defaultValue到取值

看起來很簡單。但是,由於DatePicker的行爲僅在第一次渲染時渲染defaultValue,所以在提取值(第二次渲染)時顯然爲空。

其他兩個選項我看到:

  1. 具有受控的部件 - 手動操縱值(提供它時,它的取出,然後改變它時的onChange火災)僅當

  2. 渲染的DatePicker沒有什麼可以獲取(新表單),或者一旦數據被提取並準備好填充。

關於什麼是最好的方法來完成這個任何想法?

回答

0

而不是填充defaultDate道具,鉤value道具爲任何你想要的設置。使用這種方法,您還需要連接onChange處理程序。這將是這個樣子:

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

或者,你可以使用使用雙向綁定的官能團反應的LinkedStateMixinDatePickervalueLink道具。

+0

謝謝,我結束了與選項2(呈現組件,一旦我有取回默認值),而不是實現一個受控組件(少代碼重寫),但生病看看這個'LinkedStateMixin'聽起來很有趣。謝謝! – yash

相關問題