将引导表中所有已检查行的数据存储在数组中

问题描述 投票:0回答:1

我在我的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
之类的引导方法?

javascript bootstrap-table
1个回答
0
投票

也许这个答案来得有点晚了;)

“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); } }
在这里您可以找到所有活动

引导表事件

© www.soinside.com 2019 - 2024. All rights reserved.