onClick事件-更改react表中单个行的数据

时间:2018-12-21 05:07:10

标签: javascript reactjs react-table

我的反应表中有一列正在使用变量(命名项)来显示其数据。如下代码所示:

{
  Header: this.generateHeaderCell(this.props.headers[3]),
  accessor: 'last_updated_status',
  Cell: (props: any) => <DateSinceFormat date={props.value} item={item}/>,
  maxWidth: 85,
  filterable: false
}

因此,当变量 item 的值为1时,它将显示一些数据,而在更改时,它将显示其他数据。

我正在使用onClick事件来更改项目的值。

onRowClick = (state, rowInfo, column, instance) => {
    return {
        onClick: e => {
            if(item === '2') {
                item = '1';
            } else {
                item = '2';
            }
            instance.forceUpdate();
        }
    };
}

我在这里面临的问题是,我只想更新用户单击的特定行的值,但是,现在所有行都在更新。

请在这里帮助我,让我知道如何解决此问题。

1 个答案:

答案 0 :(得分:0)

看起来item的值正在所有行之间共享。您可以尝试将item属性添加到rowInfo(我假设它是一个对象),并将onClick()函数更改为

onClick: e => {
         if(rowInfo.item === '2') 
         {
             rowInfo.item = '1';
         } 
         else 
         {
             rowInfo.item = '2';
         }
   instance.forceUpdate();
}