我在我的reactJS应用程序中使用引导表。为了填充该表,我调用一个 api 并将响应映射到该表的行。看起来像这样
<TableBody
showRowHover={true}
deselectOnClickaway={false}>
{
this.state.MediaFiles.map((item,i)=> (
<TableRow
key={i}
className={`table-item-${i}`}
selected={this.props.selectedRows.includes(i)}>
<TableRowColumn className='td-filename'>
<div className='item-file-details'>
<div className='file-image' style={{backgroundImage: `url('${item.poster.list_thumbnail}')`}}/>
<div className='details'>
<p className='detail-name'> {item.title} </p>
</div>
</div>
</TableRowColumn>
<TableRowColumn>
<p className="file-channel">Zee</p>
</TableRowColumn>
<TableRowColumn>
<p className="file-duration">Movie </p>
</TableRowColumn>
</TableRow>
))
}
</TableBody>
我想将我签入
{item.title}
的每个文件的 table
保存在 array
中。选中 Id checkbox
,然后该 {item.title}
或项目的 row
应附加到 array
。当我取消选中它时,数据应该从数组中删除。我的主要问题是如何获取 {item.tiltle}
数据。是否有 onChecked
和 onUnchecked
之类的引导方法?
也许这个答案来得有点晚了;)
“onChecked”和“onUnchecked”方法如下:
$table.on('check.bs.table uncheck.bs.table' , function (e, row, $row, colname) {
// do something
getIdSelections($table)
});
如果您单击“全部”复选框,则这将覆盖所有事件
$table.on('check.bs.table uncheck.bs.table ' + 'check-all.bs.table uncheck-all.bs.table', function (e, row, $row, colname) {
// do something
getIdSelections($table)
});
参数“row”将包含所选行的所有字段,您可以访问类似“row.title”的数据。
这是一个函数,它收集所有 id 并将其作为逗号分隔的字符串返回
function getIdSelections($table) {
// collect all table rows which tick box is marked for action and return an array
try {
return $.map($table.bootstrapTable('getSelections'), function (row) {
return row['colname_of_the_id_column'];
});
} catch (e) {
console.log(arguments.callee.name + ": " + e.message, e);
}
}
在这里您可以找到所有活动