我有一张桌子,在每一行中,我都有一个
Field
组件,它是 Formik
表单的一部分。
我想在按下按钮(也在每一行内)时访问该
Field
的当前值,并将该值传递给另一个函数onClick
.
这是我现在的代码:
<TableRow
hover
key={token.id}
sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
selected={isItemSelected}
onClick={(event) => handleClick(event, token.address, 0, 0, "0")}
>
<TableCell padding="checkbox">
<Checkbox
color="primary"
checked={isItemSelected}
inputProps={{
'aria-labelledby': labelId,
}}
/>
</TableCell>
<TableCell align="center">{token.name}</TableCell>
<TableCell align="center">{token.symbol}</TableCell>
<TableCell align="center">{token.address}</TableCell>
<TableCell align="center">{token.maxAmount}</TableCell>
<TableCell align="center">
<Formik
initialValues={{
tokenAmount: 0,
}}
>
<Form>
<Field id="tokenAmount" name="tokenAmount" type="number" disabled={false} />
</Form>
</Formik>
</TableCell>
<TableCell align="center">
<Button disabled={!isItemSelected} onClick={() => approveERC20Token(token.address, props.smartVaultContract, tokenAmount.value)} color="primary" variant="contained" >
Approve
</Button>
</TableCell>
</TableRow>
)})}
我想获取
Field
的值作为函数approveERC20Token
(目前标识为tokenAmount.value
)的第三个参数。
我应该如何配置
Formik
以实现此行为,以及如何根据表的索引识别每个不同的字段?