Невозможно установить значение по умолчанию в диапазоне дат - PullRequest
0 голосов
/ 09 января 2020

Я использую выбор диапазона дат из муравья js. https://ant.design/components/date-picker/

Я могу получить start and end date из date picker и установить его в states. Но если я хочу установить значение по умолчанию для выбора даты, я не могу установить его. Это показывает ниже ошибку:

react-dom.production.min.js?ca5d:196 Error: The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, 

Вот код:

import React from 'react';
import { DatePicker} from 'antd';

class DataCheck extends React.Component {
    state = { startDate:"",endDate:""}

    onDateChange(date) {
        this.setState({startDate:date[0]['_d'],endDate: date[1]['_d']})
    }
    onInitialDateSet(){
        var end_date = new Date();
        end_date.setDate(end_date.getDate()-15)
        this.setState({startDate:new Date(), endDate:end_date})
    }
    componentDidMount(){
        this.onInitialDateSet()
    }
    render() {
        const { RangePicker } = DatePicker;
        return (
            <div>
                <RangePicker defaultValue ={[moment(this.state.startDate), moment(this.state.endDate)]} size={'small'} onChange={this.onDateChange.bind(this)} /> 
            </div>
        );
    }
}
export default DateCheck

Помогите мне с некоторыми решениями.

1 Ответ

0 голосов
/ 12 января 2020

Я столкнулся с подобной проблемой. В моем случае я получил даты в массиве строк и должен был предварительно заполнить RangePicker. Позже я узнал, что ему просто нужен объект typeof moment.Moment и больше ничего. Поэтому я создал такую ​​функцию:

private formatStringsToDate = (dates: Array<string>) => dates.map((date: string) => moment(date));
...