簡體   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