gpt4 book ai didi

reactjs - 具有多个名称属性的 React-Datepicker handleChange

转载 作者:行者123 更新时间:2023-12-03 13:53:33 24 4
gpt4 key购买 nike

我有 6 个使用 React-Datepicker 的表单输入。我需要使用handleChange()来setState 6次,但我不明白如何从每个表单输入动态获取名称属性,因为“日期”在通过函数传递时不包含任何其他数据。我尝试过传递“名称”,但它不起作用。对于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没有任何运气。

任何帮助都会很棒!

最佳答案

你可以这样尝试:

<DatePicker
name="dateOne"
selected={this.state.dateOne}
onSelect={this.handleSelect}
onChange={(date)=>this.handleChange(date, 'dateOne')} //pass name as string
/>

handleChange(date, name) {
this.setState({
[name]: data
});
}

因此,您将名称作为字符串传递,因为您无法访问 target.name,然后通过收到的名称更新状态 [name]

关于reactjs - 具有多个名称属性的 React-Datepicker handleChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53660661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com