Я использую Reaction-MD для приложения, и я хотел Datatable, как на картинке 1 с флажками, чтобы выбрать интересующие меня строки. С реквизитами onCheckboxClick будет отправлен rowIndexвместо идентификатора я положил в таблицу. Существует способ отправить пользовательский идентификатор вместо rowIndex. В моем случае, если я нажму на первый флажок, будет отправлено значение 1 вместо 196.
Вот фрагмент таблицы и функция:
return (<DataTable baseId="simple-pagination" selectableRows={true}>
<TableHeader>
<TableRow selectable={false}>
{this.getHeaderColumns()}
</TableRow>
</TableHeader>
<TableBody>
{this.state.slicedData.map(
({id, type, status, created_date, modified_date, split, config, error}) => (
<TableRow key={id} selectable={true} onCheckboxClick={this.props.onClickCheckbox}>
<TableColumn numeric>{id}</TableColumn>
<TableColumn>{status}</TableColumn>
<TableColumn>{type}</TableColumn>
<TableColumn>{new Date(created_date).toLocaleString()}</TableColumn>
<TableColumn>{new Date(modified_date).toLocaleString()}</TableColumn>
<TableColumn grow><JsonHolder data={config.split}/></TableColumn>
<TableColumn>{error}</TableColumn>
<TableColumn grow><JsonHolder data={config}/></TableColumn>
</TableRow>
))}
</TableBody>
<TablePagination rows={this.props.jobs.length} rowsPerPageLabel={'Rows per page'}
onPagination={this.handlePagination.bind(this)}/>
</DataTable>
);
onClickCheckbox(rowIndex, checked) {
if(!checked){
let inc_models = this.state['incremental_train'];
let index = inc_models.indexOf(rowIndex);
if (index !== -1) {
inc_models.splice(index, 1);
this.setState({...this.state, incremental_train: inc_models}, () => {
console.log(this.state.incremental_train, 'incremental_train');
});
}
} else {
this.state['incremental_train'].push(rowIndex);
}
}
Заранее спасибо