Можно ли передать значение настройки из Datatable onCheckboxClicked в реагировать-md? - PullRequest
0 голосов
/ 24 октября 2019

Я использую 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);
        }
    }

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...