我一直在使用https://material-table.com/#/。它的效果很好,但是对于需要大量编辑的表,使用逐行编辑功能会很麻烦。
我想要的是一个表级操作,它将整个表变成“编辑模式”,以及一个常规的提交操作/取消操作。
此问题链接到Material-table editable: Making all rows editable at once,但未提供令人满意的答案。我希望好运。
我真的不知道从哪里开始,因此欢迎您提供帮助。
答案 0 :(得分:1)
材料表具有可使用的批量更新功能。以下是their websites
中的示例代码<MaterialTable
editable={{
onBulkUpdate: (changes) =>
new Promise((resolve, reject) => {
setTimeout(() => {
// write your logic here
/* setData([...data, newData]); */
resolve();
}, 1000);
}),
}}
/>;
答案 1 :(得分:0)
Material-Table中提供的EditRow功能基于rowData而不是基于Table数据,类似地,您可以覆盖EditRow,但它仅限于rowData而不是Table数据。据我所知,材料表尚不支持此功能。我建议您在他们的repo中提出问题/功能要求。
但是,我能想到的一种可能的解决方法是,如果编辑列(字段)仅是您需要在表中进行编辑的列,那么您可以覆盖EditRow并提供您自己的editRow函数,将tableData与rowData以及onChange一起传递,您可以为tableData中的所有行更新所需的属性。