21

我使用 Rails 和 React-Table 来显示表格。到目前为止它工作正常。但是如何向 React-Table 添加编辑/删除列?

甚至可能吗?

return (
    <ReactTable
      data={this.props.working_hours}
      columns={columns}
      defaultPageSize={50}
      className="-striped -highlight"
    />
    )
4

2 回答 2

41

您需要做的就是columns变成一个组件状态。您可以看到一个工作示例https://codesandbox.io/s/0pp97jnrvv

[2018 年 3 月 5 日更新] 误解了这个问题,这是更新后的答案:

const columns = [
    ...
    {
       Header: '',
       Cell: row => (
           <div>
               <button onClick={() => handleEdit(row.original)}>Edit</button>
               <button onClick={() => handleDelete(row.original)}>Delete</button>
           </div>
       )
    }
]

wherehandleEdithandleDeletewill 是您希望在单击按钮时如何处理操作的回调。

于 2018-03-02T20:49:39.657 回答
0

您实际上可以使用 react-table 中列的访问器属性添加按钮。这是代码示例:

     {
        Header: 'Action',
        accessor: (originalRow, rowIndex) => (
           <div>
               <button onClick={() => handleEdit(originalRow)}>Edit</button>
               <button onClick={() => handleDelete(originalRow)}>Delete</button>
           </div>
        ),
        id: 'action',
      },
于 2022-02-25T05:14:37.007 回答