Redux-form DatePicker returns Moment 对象而不是第一个选定值的日期
Redux-form DatePicker returns Moment object instead of date for the first selected value
我正在为任务管理器 React 应用程序使用 DatePicker 模块。除了第一次更改日期外,它集成得很好,它总是 returns 一个对象而不是预期的日期。但是,如果我 select 之后的另一个日期,它会神奇地 returns 正确输出。这是我的 redux 表单部分的代码:
import React, { Component } from 'react';
import { Field, reduxForm } from 'redux-form';
import moment from 'moment';
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker.css';
class TaskForm extends Component {
constructor (props) {
super(props)
}
render() {
const { handleSubmit } = this.props;
const renderDatePicker = ({input}) => (
<div>
<DatePicker {...input} dateForm="MM/DD/YYYY" selected={input.value ? moment(input.value, 'MM/DD/YYYY') : null} />
</div>
);
return (
<div>
<form onSubmit={ handleSubmit}>
<div>
{/* Date selection */}
<label>Date:</label>
<Field name="date" component={renderDatePicker} />
</div>
<button type="submit">Save</button>
</form>
</div>
)
};
};
export default reduxForm({form: 'taskForm'})(TaskForm);
这是我 console.logged 输出的值:
提前感谢您的帮助!
时刻值始终是一个对象,要获得您想要的确切格式,只需使用.format,例如:
moment(date).format('MM/DD/YYYY')
我正在为任务管理器 React 应用程序使用 DatePicker 模块。除了第一次更改日期外,它集成得很好,它总是 returns 一个对象而不是预期的日期。但是,如果我 select 之后的另一个日期,它会神奇地 returns 正确输出。这是我的 redux 表单部分的代码:
import React, { Component } from 'react';
import { Field, reduxForm } from 'redux-form';
import moment from 'moment';
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker.css';
class TaskForm extends Component {
constructor (props) {
super(props)
}
render() {
const { handleSubmit } = this.props;
const renderDatePicker = ({input}) => (
<div>
<DatePicker {...input} dateForm="MM/DD/YYYY" selected={input.value ? moment(input.value, 'MM/DD/YYYY') : null} />
</div>
);
return (
<div>
<form onSubmit={ handleSubmit}>
<div>
{/* Date selection */}
<label>Date:</label>
<Field name="date" component={renderDatePicker} />
</div>
<button type="submit">Save</button>
</form>
</div>
)
};
};
export default reduxForm({form: 'taskForm'})(TaskForm);
这是我 console.logged 输出的值:
提前感谢您的帮助!
时刻值始终是一个对象,要获得您想要的确切格式,只需使用.format,例如:
moment(date).format('MM/DD/YYYY')