我正在使用react-bootstrap-table(var ReactBsTable = require("react-bootstrap- table"))。
var ReactBsTable = require("react-bootstrap- table")
我想添加一个仅包含bootstraptable中的按钮的列。
任何想法谢谢。
<BootstrapTable data={this.state.activities} pagination={true} hover={true} search={true} selectRow={selectRowProp} options={options}> <TableHeaderColumn isKey={true} dataField="id" hidden {true}>ID</TableHeaderColumn> <TableHeaderColumn dataField="title" dataSort={true}>Title</TableHeaderColumn> <TableHeaderColumn dataField="adress" dataSort{true}>Adress</TableHeaderColumn> ///I dont know if here or there is option to use </BootstrapTable>
我试图添加一个按钮,该按钮显示与该按钮对应的id或行数据。我使用了jQuery,但是给按钮赋予了一个ID,但是所有这些按钮都具有相同的ID,因此只有第一个起作用,其余没有。
<BootstrapTable data={this.state.activities} pagination={true} hover={true} search={true} selectRow={selectRowProp} options={options}> <TableHeaderColumn isKey={true} dataField="id" hidden {true}>ID</TableHeaderColumn> <TableHeaderColumn dataField="title" dataSort={true}>Title</TableHeaderColumn> <TableHeaderColumn dataField="adress" dataSort{true}>Adress</TableHeaderColumn> <TableHeaderColumn dataField="button" dataFormat={this.buttonFunction}></TableHeaderColumn> </BootstrapTable> buttonFunction: function (cell, row) { var today = new Date().toISOString(); if (row.status === "En cours") { if (row.dateEnd > today) { return <Alert_Validate></Alert_Validate>; } else { return <label> <button type="button" id="validatebutton" onClick={this._validateFunction} className="bbtn btn-primary btn-sm"><i className="fa fa-check fa-1x" aria-hidden="true"></i> </button> </label> } } }, _validateFunction: function () { var userid=this.props.params.id; $("#validatebutton").click(function() { var $row = $(this).closest("tr"); var activityid = $row.find("td:nth-child(2)"); console.log("activity id :"+activityid.text()); });
您可以创建一个新功能buttonFormatter以将按钮添加到列的每个单元格
buttonFormatter
// products will be presented by react-bootstrap-table var products = [{ id: 1, name: "Item name 1", price: 100 },{ id: 2, name: "Item name 2", price: 100 },........]; // It's a data format example. function priceFormatter(cell, row){ return '<i class="glyphicon glyphicon-usd"></i> ' + cell; }, function buttonFormatter(cell, row){ return '<BootstrapButton type="submit"></BootstrapButton>'; } React.render( <BootstrapTable data={products} striped={true} hover={true}> <TableHeaderColumn dataField="id" isKey={true} dataAlign="center" dataSort={true}>Product ID</TableHeaderColumn> <TableHeaderColumn dataField="name" dataSort={true}>Product Name</TableHeaderColumn> <TableHeaderColumn dataField="price" dataFormat={priceFormatter}>Product Price</TableHeaderColumn> <TableHeaderColumn dataField="button" dataFormat={buttonFormatter}>Buttons</TableHeaderColumn> </BootstrapTable>, document.getElementById("app") );