Reactjs Don';t验证物料表中的删除

Reactjs Don';t验证物料表中的删除,reactjs,material-table,Reactjs,Material Table,我想阻止用户添加表中已有名称的行,因此我的部分验证检查就是这样。但这意味着,如果用户试图删除一行,他们将无法保存删除,因为验证失败。如何使验证仅在用户创建行时运行,而在用户删除行时跳过 validate:rowData=>rowData.name!=空&!rowsState.some(x=>String(x.name)==String(rowData.name)) 您可以通过是否具有tableData属性来区分已添加到表中的行与正在创建的行。如果tableData属性未定义,则仍在创建该行;否则

我想阻止用户添加表中已有名称的行,因此我的部分验证检查就是这样。但这意味着,如果用户试图删除一行,他们将无法保存删除,因为验证失败。如何使验证仅在用户创建行时运行,而在用户删除行时跳过

validate:rowData=>rowData.name!=空&!rowsState.some(x=>String(x.name)==String(rowData.name))

您可以通过是否具有
tableData
属性来区分已添加到表中的行与正在创建的行。如果
tableData
属性未定义,则仍在创建该行;否则,将编辑或删除该行

我们可以将代码更改为:

validate:rowData=>rowData.tableData!==未定义的| |(rowData.requirementId!=null&&!rowsState.some(x=>String(x.requirementId)==String(rowData.requirementId)))

对于这个表,我在
可编辑的
属性中只有
onRowAdd
onRowDelete
,没有
onRowUpdate
。在我们希望允许编辑行的情况下,让
validate
的回调区分编辑和删除行将更加困难,因为在任何一种情况下,行都将具有
tableData
属性。

您可以区分已添加到表中的行,与正在创建的行进行比较,通过它是否具有
tableData
属性。如果
tableData
属性未定义,则仍在创建该行;否则,将编辑或删除该行

我们可以将代码更改为:

validate:rowData=>rowData.tableData!==未定义的| |(rowData.requirementId!=null&&!rowsState.some(x=>String(x.requirementId)==String(rowData.requirementId)))

对于这个表,我在
可编辑的
属性中只有
onRowAdd
onRowDelete
,没有
onRowUpdate
。在我们希望允许编辑行的情况下,让
validate
的回调区分编辑和删除行将更加困难,因为在这两种情况下,行都将具有
tableData
属性。

您是否同时回答了自己的问题?你创建它只是为了获得一些声誉吗?实际上,有一个公共关系来解决这个问题,所以这应该不会很快成为一个问题@多米诺987这是一个真实的问题,在我开始写这个问题15分钟后,我想到了答案。谢谢你让我知道拉请求!关于自我回答,请看您是否同时回答了自己的问题?你创建它只是为了获得一些声誉吗?实际上,有一个公共关系来解决这个问题,所以这应该不会很快成为一个问题@多米诺987这是一个真实的问题,在我开始写这个问题15分钟后,我想到了答案。谢谢你让我知道拉请求!关于自我回答,请参阅