我正在尝试构建一个表,单击该表后,状态将使用表中的信息进行更新,但是我不知道该怎么做
这是我的代码:
state = {
shift: {
id: '',
shift: '',
date: ''
},
days: [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
],
shifts: ['Morning', 'Evening']
};
render() {
const table = this.state.shifts.map((shift, index) => {
return (
<tr key={index}>
{this.state.days.map((day, index2) => {
return (
<td key={index2}>
<div>{day}</div>
<div>{shift}</div>
<div>
<button>Sign in</button>
</div>
</td>
);
})}
</tr>
);
});
我想编写一个onClick函数,单击该按钮后,我希望this.state.shift
在TD包含它的早晨/晚上进行更新,而this.state.date
则是这样。加上周日/周一这一天...有人知道怎么做吗?
答案 0 :(得分:1)
在您的<td>
中,您可以放置
onClick={event => this.setState({shift: {id: '', shift, date: day})}
放入您想要的id
,而shift
只是一个变形的对象。
我假设您是指this.state.shift.shift
和this.state.shift.date
。