refactor EditableTable separate try-catch on change handlers.

This commit is contained in:
Фролов 2021-09-30 18:00:46 +05:00
parent 74bc512fa3
commit c2243f1eb6

View File

@ -17,7 +17,7 @@ export const EditableTable = ({
columns,
dataSource,
onChange, // Метод вызывается со всем dataSource с измененными элементами после любого действия
onRowAdd, // Метод вызывается с новой добавленной записью. Если метод не поределен, то кнопка добавления строки не показывается
onRowAdd, // Метод вызывается с новой добавленной записью. Если метод не определен, то кнопка добавления строки не показывается
onRowEdit,// Метод вызывается с новой отредактированной записью. Если метод не поределен, то кнопка редактирования строки не показывается
onRowDelete,// Метод вызывается с удаленной записью. Если метод не поределен, то кнопка удаления строки не показывается
...otherTableProps}) => {
@ -70,17 +70,30 @@ export const EditableTable = ({
if(item.key === newRowKeyValue)
item.key = newRowKeyValue + newData.length
const isAdding = editingKey === newRowKeyValue
setEditingKey('')
setData(newData)
if (editingKey === newRowKeyValue)
onRowAdd(newItem)
if (isAdding)
try{
onRowAdd(newItem)
}catch(err){
console.log('callback onRowAdd fault:', err)
}
else
onRowEdit(newItem)
if(onChange)
onChange(newData)
try{
onRowEdit(newItem)
}catch(err){
console.log('callback onRowEdit fault:', err)
}
try{
if(onChange)
onChange(newData)
}catch(err){
console.log('callback onChange fault:', err)
}
} catch (errInfo) {
console.log('Validate Failed:', errInfo)