如何从表中获取数据以达到状态

时间:2018-12-11 17:48:33

标签: reactjs html-table state

我正在尝试构建一个表,单击该表后,状态将使用表中的信息进行更新,但是我不知道该怎么做

这是我的代码:

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则是这样。加上周日/周一这一天...有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

在您的<td>中,您可以放置​​

onClick={event => this.setState({shift: {id: '', shift, date: day})} 放入您想要的id,而shift只是一个变形的对象。

我假设您是指this.state.shift.shiftthis.state.shift.date