Диапазон дат реакции всегда открыт

#reactjs

#reactjs

Вопрос:

Я включил react-date-range его в свой проект, но он всегда открыт. Я хотел бы открыть его только тогда, когда я нажимаю на диапазон дат и закрываю после выбора обеих дат.

 import React, { Component } from 'react';
import { DateRangePicker } from 'react-date-range';

class ReportForm extends Component {
    constructor(props) {
        super(props);
        this.state = {
            startDate: new Date(),
            endDate: new Date()
        };
    }

    handleSelect = (ranges) => {
        console.log(ranges);
        this.setState({
            startDate: ranges.selection.startDate,
            endDate: ranges.selection.endDate
        });
    }

    render() {
        const selectionRange = {
            startDate: this.state.startDate,
            endDate: this.state.endDate,
            key: 'selection',
        };

        return (
            <div className="col-md-8 col-md-offset-2 col-sm-8 col-sm-offset-2">
                <table className="table table-bordered">
                    <thead>
                        <tr>
                            <th className="text-center">Report</th>
                            <th className="text-center">Period</th>
                            <th className="text-center">Adjust Date</th>
                            <th className="text-center">Action</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="center">
                                <select className="form-control" id="report">
                                    <option>Report 1</option>
                                    <option>Report 2</option>
                                    <option>Report 3</option>
                                </select>
                            </td>
                            <td align="center">
                                <DateRangePicker
                                    ranges={[selectionRange]}
                                    onChange={this.handleSelect}
                                />
                            </td>
                            <td align="center">
                                <select className="form-control" id="dtOption">
                                    <option>Select</option>
                                    <option>Today</option>
                                    <option>This Month</option>
                                    <option>This Year</option>
                                </select>
                            </td>
                            <td align="center"><button className="btn btn-success">Run Report</button></td>
                        </tr>
                    </tbody>
                </table>
            </div>
        );
    }
};

export default ReportForm;
 

Ответ №1:

Вы можете использовать Bootstrap для добавления выпадающего списка, который содержит < DateRangePicker/>