React js日期选择器

时间:2018-06-15 00:00:24

标签: javascript reactjs datepicker react-datepicker

如果我使用多个datepicker实例,我在使用react-datepicker更新日期时遇到问题。

日期选择器组件:

<DatePicker
  selected={this.state.from}
  onChange={this.changeDate.bind(this)}
/>

在变更处理程序上:

changeDate(date) {
    this.setState({
        from : date
    });
}

如果我只使用一个实例,这似乎工作正常,但是当我添加多个实例时,我必须为每个新创建的日期选择器组件创建单独的onchange处理程序。 我正在寻找的是一种只编写一个onchange处理函数并在同一函数中处理多个datepicker实例的更改事件的方法。

2 个答案:

答案 0 :(得分:1)

您可以使用对象field状态将每个日期值存储在属性

this.state = {
    fields: {}
}

handleDateChange = (dateName, dateValue) => {
    this.setState({
        fields: {
            ...this.fields,
            [dateName]: dateValue
        }
    })
}

// IN RENDER
<ReactDatepicker 
    value={this.fields["dateStart"]}
    onChange={(value) => handleDateChange("dateStart", value)}
/>

答案 1 :(得分:0)

您可以使用两个参数onChangedateName的{​​{1}}处理程序

dateValue