Redux-form DatePicker返回Moment对象而不是第一个选定值的日期

时间:2017-09-18 22:07:49

标签: reactjs datepicker react-redux momentjs redux-form

我使用DatePicker模块为任务管理器做出反应。它集成良好,除了第一次更改日期,它总是返回一个对象而不是预期的日期。但是,如果我之后选择另一个日期,它会神奇地返回正确的输出。这是我的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);

这是我控制台的值。记录:

enter image description here

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Moment值总是一个对象,为了得到你想要的确切格式,只需使用.format,例如:

moment(date).format('MM/DD/YYYY')