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,
|
columns,
|
||||||
dataSource,
|
dataSource,
|
||||||
onChange, // Метод вызывается со всем dataSource с измененными элементами после любого действия
|
onChange, // Метод вызывается со всем dataSource с измененными элементами после любого действия
|
||||||
onRowAdd, // Метод вызывается с новой добавленной записью. Если метод не поределен, то кнопка добавления строки не показывается
|
onRowAdd, // Метод вызывается с новой добавленной записью. Если метод не определен, то кнопка добавления строки не показывается
|
||||||
onRowEdit,// Метод вызывается с новой отредактированной записью. Если метод не поределен, то кнопка редактирования строки не показывается
|
onRowEdit,// Метод вызывается с новой отредактированной записью. Если метод не поределен, то кнопка редактирования строки не показывается
|
||||||
onRowDelete,// Метод вызывается с удаленной записью. Если метод не поределен, то кнопка удаления строки не показывается
|
onRowDelete,// Метод вызывается с удаленной записью. Если метод не поределен, то кнопка удаления строки не показывается
|
||||||
...otherTableProps}) => {
|
...otherTableProps}) => {
|
||||||
@ -71,16 +71,29 @@ export const EditableTable = ({
|
|||||||
if(item.key === newRowKeyValue)
|
if(item.key === newRowKeyValue)
|
||||||
item.key = newRowKeyValue + newData.length
|
item.key = newRowKeyValue + newData.length
|
||||||
|
|
||||||
|
const isAdding = editingKey === newRowKeyValue
|
||||||
setEditingKey('')
|
setEditingKey('')
|
||||||
setData(newData)
|
setData(newData)
|
||||||
|
|
||||||
if (editingKey === newRowKeyValue)
|
if (isAdding)
|
||||||
|
try{
|
||||||
onRowAdd(newItem)
|
onRowAdd(newItem)
|
||||||
|
}catch(err){
|
||||||
|
console.log('callback onRowAdd fault:', err)
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
try{
|
||||||
onRowEdit(newItem)
|
onRowEdit(newItem)
|
||||||
|
}catch(err){
|
||||||
|
console.log('callback onRowEdit fault:', err)
|
||||||
|
}
|
||||||
|
|
||||||
|
try{
|
||||||
if(onChange)
|
if(onChange)
|
||||||
onChange(newData)
|
onChange(newData)
|
||||||
|
}catch(err){
|
||||||
|
console.log('callback onChange fault:', err)
|
||||||
|
}
|
||||||
|
|
||||||
} catch (errInfo) {
|
} catch (errInfo) {
|
||||||
console.log('Validate Failed:', errInfo)
|
console.log('Validate Failed:', errInfo)
|
||||||
|
Loading…
Reference in New Issue
Block a user