У меня есть таблица с несколькими строками, и я хочу иметь возможность сделать их все редактируемыми одновременно. Используя редактируемый тег, я смог перейти в режим редактирования и сделать редактируемый по одной строке за раз, но если я переключаюсь с одной строки на другую, это не сохраняет изменений. Мне нужно остановиться и нажать на кнопку, чтобы сохранить изменения. Я хочу иметь возможность вносить изменения по всей таблице, прежде чем нажать кнопку Сохранить. Есть ли способ сделать это с помощью таблицы материалов?
class Editable extends React.Component {
constructor(props) {
super(props);
this.state = {
columns: [
{ title: 'Name', field: 'name' },
{ title: 'Surname', field: 'surname', initialEditValue: 'initial edit value' },
{ title: 'Birth Year', field: 'birthYear', type: 'numeric' },
{
title: 'Birth Place',
field: 'birthCity',
lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' },
},
],
data: [
{ name: 'Mehmet', surname: 'Baran', birthYear: 1987, birthCity: 63 },
{ name: 'Zerya Betül', surname: 'Baran', birthYear: 2017, birthCity: 34 },
]
}
}
render() {
return (
<MaterialTable
title="Editable Preview"
columns={this.state.columns}
data={this.state.data}
editable={{
onRowUpdate: (newData, oldData) =>
new Promise((resolve, reject) => {
setTimeout(() => {
{
const data = this.state.data;
const index = data.indexOf(oldData);
data[index] = newData;
this.setState({ data }, () => resolve());
}
resolve()
}, 1000)
}),
}}
/>
)
}
}