【问题标题】:How to get start and end date value in React date range picker?如何在 React 日期范围选择器中获取开始和结束日期值?
【发布时间】:2016-04-04 05:02:46
【问题描述】:

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

【问题讨论】:

  • @azium。我已经更新了代码。你现在可以检查一下吗?
  • 你能发个小提琴吗? (使用jsfiddle.net 或 sn-p)
  • 您的handleSelect 函数记录range 是否如您所愿?
  • 没有@azium。但我得到了这个值'对象 {startDate: Moment, endDate: Moment}'
  • 嗨@MoshFeu。请检查上面更新的代码。有什么方法可以在点击时获取开始和结束日期值?

标签: javascript html datepicker reactjs npm


【解决方案1】:

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

【讨论】:

  • 嗨@jan-klimo。如何使用 moment.js?
  • 你到底想做什么?
  • 如果我点击应用按钮,我必须打印我在日历上选择的内容。
猜你喜欢
  • 2015-10-18
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多