如何在React日期范围选择器中获取开始和结束日期值

How to get start and end date value in React date range picker?

本文关键字:日期 开始 获取 结束 选择器 React 范围      更新时间:2023-09-26

在我的代码中,我使用了一个用于日期范围选择器的npm-react组件(https://www.npmjs.com/package/react-date-range)。在我的屏幕上,我有一个申请日期按钮。如果我点击该按钮,我想打印日期范围值。如何在单击时获得该范围值?

    var Calendarcomponent = React.createClass({
    getInitialState: function(){
        this.state = {
          'rangePicker' : {},
          'linked' : {},
          'datePicker' : null,
          'firstDayOfWeek' : null,
          'predefined' : {},
        }
    }
  handleSelect:function(range){
    console.log(range);
  },
  handleClick:function(range){
    console.log(range);
  },
  render:function(){
    var rangePicker = this.state;
    var format = 'dddd, D MMMM YYYY';
      return (
        <div>
            <h4>FILTER BY DATE</h4>
            <div className="date-range text-center">
                <div className="group">      
<label>Date range</label>
                    <input className="inputMaterial" type="text" value={ rangePicker['endDate'] && rangePicker['endDate'].format(format).toString() } required />
                </div>
            </div>
            <div className="set-borrow-dates">
              <div id="select-date">Select Borrow date</div>
              <DateRange onInit={this.handleSelect} onclick={this.handleClick} />
              <button id="apply-dates"><i className="fa fa-check-circle"></i> Apply Dates</button>
            </div>
        </div>
      )
  }
});

您可以使用onChange回调将范围存储在状态中,并在单击按钮时读取:

handleSelect(range){
  this.setState({ range });
},
handleClick(){
  console.log(this.state.range);
},
render:function(){
  return <div>
    <DateRange onInit={this.handleSelect}
     onChange={this.handleSelect} />
    <button id="apply-dates" onClick={this.handleClick} >
      <i className="fa fa-check-circle"></i>
      Apply Dates
    </button>
  </div>;
}