Я настроил таблицу response-bootstrap-table2 (она же реагирует-bootstrap-table-next) следующим образом:
function buttonFormatter(cell, row) {
return (
<NominateButton
row={ row }
auctionId={ auctionId }
teamId={ teamId }
/>
);
}
const queue_columns = [{
dataField: 'player.num',
text: 'Player Num',
editable: false
}, {
dataField: 'player.name',
text: 'Player',
editable: false
}, {
dataField: 'player.position',
text: 'Position',
editable: false
}, {
dataField: 'initialBid',
text: 'Initial Bid',
}, {
text: 'Nominate',
formatter: buttonFormatter,
editable: false
}];
return (
<BootstrapTable
bootstrap4={ true }
keyField='player.num'
data={ this.state.data }
columns={ queue_columns }
cellEdit={ cellEditFactory({ mode: 'click',
blurToSave: true }) }
striped
hover />
);
Вот как выглядит таблица:
Проблема состоит в том, что объект строки передается в компонент NominateButton при создании таблицы, поэтому при обновлении столбца initialBid это обновленное значение не обновляется в свойстве строки для NominateButton для этой строки. ,NominateButton использует это значение initialBid в мутации GraphQL.
После того, как ячейка Initial Bid в строке отредактирована и изменена, как мне каким-то образом обновить состояние NominateButton с этим измененным значением?
Есть ли какой-либо способ указать имя функции в вызове cellEditFactory (с ключом afterSaveCell) и передать это имя функции в качестве свойства в NominateButton?