如何在Bootstrap React Table中的特定列下的每一行内添加一个按钮?

时间:2017-09-28 08:41:34

标签: javascript reactjs web react-bootstrap-table

我有一个React Bootstrap表({{3}}),它将从来自API的数据中填充。我想在其中一个列中添加一个按钮,然后对其执行操作。 例如,一旦在特定行中单击按钮,我需要从特定行提取数据,然后进行API调用。 如何使用React Bootstrap表?

    return (
  <BootstrapTable
    condensed={true}
    data = { tableData } 
  //I use tableData to store information obtained from API

    headerStyle={ { 
      background: '#FFF',
    } }
    containerStyle={ { background: '#FFF' } }
    ref='table'
    >
      <TableHeaderColumn dataField='resourceId' isKey dataAlign='center' dataSort={ true }> ID </TableHeaderColumn>
      <TableHeaderColumn dataField='Name' dataAlign='center'> Name </TableHeaderColumn>
      <TableHeaderColumn dataField='support' dataAlign='center' dataSort={ true }> Support</TableHeaderColumn>
      <TableHeaderColumn dataField='status' dataAlign='center' dataSort={ true }> Status</TableHeaderColumn>


      <TableHeaderColumn 
        dataAlign='center'
        options={ 
      <button> Select </button>}
      >
      File Path
      </TableHeaderColumn>
//Insert button here and access onClick property and make relevant API calls

  </BootstrapTable>

2 个答案:

答案 0 :(得分:1)

您可以编写自定义数据格式:

class ActionFormatter extends React.Component {
  render() {
    return (
      <button onClick={this.props.onClick}>Click me!</button>
    );
  }
}

function actionFormatter(cell, row) {
  return (
    <ActionFormatter onClick={()=>doAction(row)} />
  );
}

在专栏中:

<TableHeaderColumn dataField='action' dataFormat={ actionFormatter }>Action</TableHeaderColumn>

答案 1 :(得分:0)

按类选择列,或者您可以使用查询选择器

var column = document.querySelectorAll("tableHeaderColumn");

循环浏览每个按钮。根据需要编辑按钮的属性。

for(var i = 0; i < column.length; i++){
 column[i].innerHTML += "<button></button>";
}