繁体   English   中英

在嵌套对象中使用 final-form-array

[英]Using final-form-array in a nested object

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

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM