【发布时间】:2018-04-27 05:16:23
【问题描述】:
我正在使用 material-ui 日期选择器字段实现 redux-form。日期在字段中设置得很完美,但是当我尝试将其发送到后端 API 时,日期的格式是:
BeginDate_1: Tue Nov 14 2017 15:03:43 GMT+0530 (IST)
我正在尝试将此格式更改为“YYYY-mm-dd”格式,然后再将其发送到后端 API。
我尝试momentjs 进行格式化,但我无法得到我想要的结果。
这是我尝试过的:
Home.js
import React, {Component} from 'react';
import {Field, reduxForm} from 'redux-form';
import DatePicker from 'material-ui/DatePicker';
import {connect} from 'react-redux';
import * as moment from 'moment';
class Home extends Component {
renderCalendarField= ({
input,
label,
meta: {touched, error},
children,
...custom
}) => (
<DatePicker
floatingLabelText={label}
errorText={touched && error}
{...input}
value = {input.value !== ''? new Date(input.value) : null}
onChange={(event, value) => input.onChange(value)}
children={children}
{...custom}
formatDate={(date) => moment(date).format('YYYY-MM-DD')}
/>
)
render() {
const startDate = new Date();
const {handleSubmit} = this.props;
return (
<form onSubmit={handleSubmit(this.onSubmit.bind(this))}>
<div>
<Field name="BeginDate_1" component={this.renderCalendarField} label="DEPARTURE" minDate={startDate} />
</div>
<div>
<button type="submit">
Submit
</button>
</div>
</form>
);
}
}
const LogInForm = reduxForm({
form: 'MaterialUiForm', // a unique identifier for this form
validate
})(Home);
export default connect(mapStateTOProps, {getCity})(LogInForm);
控制台输出还是:
BeginDate_1:Tue Nov 14 2017 15:03:43 GMT+0530 (IST)
如何将这个日期格式化为YYYY-mm-dd 格式?
【问题讨论】:
标签: javascript reactjs date react-redux momentjs