[英]Select and update date in only selected div using react-datepicker
I am developing a react application. 我正在开发一个React应用程序。 I have 3 div, each have DatePicker component.
我有3 div,每个都有DatePicker组件。 I want to update the date of selected.
我想更新选择的日期。 When I change the date, it gets updated every div.
当我更改日期时,每个div都会更新。
Here is code - 这是代码-
import React, { Component } from 'react'; import DatePicker from 'react-datepicker'; import moment from 'moment'; import './App.css'; import 'react-datepicker/dist/react-datepicker.css'; class Application extends React.Component { constructor(props) { super(props) this.state = { date: moment() }; } dateChanged = (d) => { this.setState({ date: d }); } render() { return ( <div> <div> <DatePicker selected={this.state.date} onChange= {this.dateChanged} /> </div> <div> <DatePicker selected={this.state.date} onChange={this.dateChanged} /> </div> <div> <DatePicker selected={this.state.date} onChange={this.dateChanged} /> </div> </div> ); } } export default Application;
Here is how can you do it. 这是你怎么做。
import React, { Component } from 'react';
import DatePicker from 'react-datepicker';
import moment from 'moment';
import './App.css';
import 'react-datepicker/dist/react-datepicker.css';
class Application extends React.Component {
constructor(props) {
super(props)
this.state = { date1: moment(), date2: moment(), date3: moment() };
}
dateChanged = (provider, d) => {
this.setState({ [provider]: d });
}
render() {
return (
<div>
<div>
<DatePicker selected={this.state.date1} onChange={this.dateChanged.bind(this, "date1")} />
</div>
<div>
<DatePicker selected={this.state.date2} onChange={this.dateChanged.bind(this, "date2")} />
</div>
<div>
<DatePicker selected={this.state.date3} onChange={this.dateChanged.bind(this, "date3")} />
</div>
</div>
);
}
}
export default Application;
For doing this, you need to provide a key and value in the state for each one 为此,您需要为每个状态提供一个键和值
import React, { Component } from 'react'; import DatePicker from 'react-datepicker'; import moment from 'moment'; import './App.css'; import 'react-datepicker/dist/react-datepicker.css'; class Application extends React.Component { constructor(props) { super(props) this.state = { date1: moment(), date2: moment(), date3: moment() }; } dateChanged = (provider, d) => { this.setState({ [provider]: d }); } render() { return ( <div> <div> <DatePicker selected={this.state.date} onChange={this.dateChanged.bind(this, "date1")} /> </div> <div> <DatePicker selected={this.state.date} onChange={this.dateChanged.bind(this, "date2")} /> </div> <div> <DatePicker selected={this.state.date} onChange={this.dateChanged.bind(this, "date3")} /> </div> </div> ); } } export default Application;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.