我有6个使用React-Datepicker的表单输入。我需要使用handleChange()来setState 6次,但我不明白如何从每个表单输入动态获取name属性,因为'date'在通过函数传递时不包含任何其他数据。我试过输入“名字”,但不管用。handleSelect()也是如此
this.state = {
dateOne: new Date(),
dateTwo: new Date(),
dateThree: new Date(),
dateFour: new Date(),
dateFive: new Date(),
dateSix: new Date()
}
handleChange(date) {
this.setState({ ...this.state, ?????: date });
}
handleSelect(date) {
this.setState({ ...this.state, ?????: date });
}
<form>
<DatePicker
name="dateOne"
selected={this.state.dateOne}
onSelect={this.handleSelect}
onChange={this.handleChange}
/>
<DatePicker
name="dateTwo"
selected={this.state.dateTwo}
onSelect={this.handleSelect}
onChange={this.handleChange}
/>
<DatePicker
name="dateThree"
selected={this.state.dateThree}
onSelect={this.handleSelect}
onChange={this.handleChange}
/>
<DatePicker
name="dateFour"
selected={this.state.dateFour}
onSelect={this.handleSelect}
onChange={this.handleChange}
/>
<DatePicker
name="dateFive"
selected={this.state.dateFive}
onSelect={this.handleSelect}
onChange={this.handleChange}
/>
<DatePicker
name="dateSix"
selected={this.state.dateSix}
onSelect={this.handleSelect}
onChange={this.handleChange}
/>
</form>
字符串
我也试过这个:https://github.com/Hacker0x01/react-datepicker/issues/242没有任何运气。
任何帮助将是真棒!
3条答案
按热度按时间agyaoht71#
你可以这样尝试:
字符串
由于不能访问
target.name
,因此将名称作为字符串传递,然后通过收到的名称[name]
更新状态vlurs2pr2#
或者你可以这样做
字符串
uqxowvwt3#
试试这个代码
字符串