我不能在終極版型材料的UI作爲控制單元使用的DatePicker。 我打算在一開始就生成今天的日期。這裏是我的代碼:終極版型材料的UI控制的DatePicker
import React from 'react';
import { Field, reduxForm } from 'redux-form';
import { DatePicker } from 'redux-form-material-ui';
class PeriodForm extends React.Component {
constructor(props) {
super(props);
this.state = {
startDate:new Date(),
}
this.handleStartDateChange = this.handleStartDateChange.bind(this);
}
handleStartDateChange = (event, date) => {
this.setState({
startDate: date
});
};
render(){
return(
<div>
<form onSubmit={handleSubmit}>
<div className="field-line">
<Field
name="startDate"
floatingLabelText="Start Date"
component={DatePicker}
format={null}
value={this.state.startDate}
autoOk={true}
DateTimeFormat={Intl.DateTimeFormat}
onChange={handleStartDateChange}
/>
</div>
</form>
</div>
)}}
export default reduxForm({
form: 'PeriodForm',
})(PeriodForm);
從上面的代碼中,它總是什麼都不顯示的日期選擇器,它應該產生今天的日期。 而讓說,如果我有一個表包含日期的列表,然後我每次點擊的日期標籤時,它就會產生它的日期選擇值。是對的,如果我只是做「setState」到我的this.state.startDate?
,如果我想改變日期選擇器的價值,讓我們說,如果我有一個包含日期和我點擊表格中我會產生價值日期選擇日期每一次的名單表。我怎麼處理? – ukiyakimura
我認爲最簡單的方法是將所有東西都分成多個部分。一個組件將包含帶日期的表格,該表格定義了一個「onChange」處理程序,該處理程序在您的日期更改時觸發。您的PeriodForm現在也將接受外部日期支撐值;在表格組件中選擇的一個。將所有日期合併到一起的最後一件事是將選定日期傳遞到表單組件的容器組件。然後,您可以再次使用mapStateToProps將initialValues設置爲外部日期值。 – Dennis
我已經這樣做了,我在PeriodForm中將prop表中包含選定日期的值傳遞給datepicker。我得到的問題是,道具改變了,但它沒有在datepicker中填充任何日期,它仍然是空白的。 @Dennis – ukiyakimura