0

我有一个场景,我有多个网格,每个网格中可以有多个可以删除的行。

{ 
document: [{
rows: [{
make: "Tesla"
}]
}

我想做类似<FieldArray name="document[0]">的事情,我可以给网格添加和删除功能,但似乎 fieldarray 只需要单个节点。有解决办法还是我做错了什么?

最初我有document1: { [{...fields}] }这么 useField 看起来像这样:

useField(`${fieldKey}${fieldIndex}[${rowIndex}].${field}`)

但由于 ag-grid 和单元级别验证的问题,我想使用 yup 模式验证,所以我认为如果我使用通用键会更容易。

fields.removeBatch(gridApi.getSelectedNodes().map(({ rowIndex }) => rowIndex));
4

1 回答 1

1

原来我使用了错误的路径。我需要使用

<FieldArray name={`${fieldKey}.${fieldIndex}.rows`}>

这与新结构相匹配。所以 FieldArray 确实支持嵌套对象,您只需要正确命名即可。

于 2020-09-18T21:55:09.700 回答