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

时间:2015-12-30 08:38:02

标签: javascript html datepicker reactjs npm

在我的代码中,我使用了一个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>
      )
  }
});

1 个答案:

答案 0 :(得分:0)

您可以使用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>;
}