forked from ddrilling/asb_cloud_front
refactor EditableTable separate try-catch on change handlers.
This commit is contained in:
parent
74bc512fa3
commit
c2243f1eb6
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user