Reactjs Formik-带无线电输入的现场阵列

Reactjs Formik-带无线电输入的现场阵列,reactjs,radio-button,next.js,formik,Reactjs,Radio Button,Next.js,Formik,我正在使用formik 1.5.8版本2之前的版本,并且我正在尝试使用为用户生成多个嵌套选项(问题和MCQ答案) 一切都很好,但问题是我想生成一个带有每个答案的单选按钮输入,以将此答案标记为正确答案 嵌套的生成很好,但正如您所知,为了使单选按钮工作,您必须为它们提供具有不同值的相同名称,因此在本场景中,我为它们提供了第一个答案选项的名称,因此当我更改它们时,只有第一个答案选项更改其值 如果所选单选按钮将其正确字段值更改为true,而其他按钮将更改为false,我该如何执行此操作 这里有一个Cod

我正在使用
formik 1.5.8
版本2之前的版本,并且我正在尝试使用
为用户生成多个嵌套选项(问题和MCQ答案)

一切都很好,但问题是我想生成一个带有每个答案的
单选按钮
输入,以将此答案标记为正确答案

嵌套的
生成很好,但正如您所知,为了使
单选按钮
工作,您必须为它们提供具有不同值的相同名称,因此在本场景中,我为它们提供了第一个答案选项的名称,因此当我更改它们时,只有第一个答案选项更改其值

如果所选单选按钮将其正确字段值更改为
true
,而其他按钮将更改为
false
,我该如何执行此操作

这里有一个
Codesandbox
来演示


如果有人想向我们展示如何使用
按钮执行此操作,请继续,我会接受您的正确答案

但是对于那些感兴趣的人,我设法解决了这个问题,除了使用“单选”按钮来设置“正确答案”标志的值之外,我只使用一个按钮将正确表单值的值设置为
true
,同时将其他相关输入的值设置为
false

这是我用过的按钮

<button
    type="button"
    className={ values.payload[index].answers[index2].correct
            ? "active"
            : ""}
    onClick={() => {
        values.payload[index].answers.map(
            (tem3, index3) => {
                setFieldValue(`payload[${index}].answers[${index3}].correct`,false);
            }
        );
        setFieldValue(flagName, true);
    }}
>
    {values.payload[index].answers[index2].correct
        ? "Correct Answer"
        : "Mark As Correct"
    }
</button>
{
values.payload[index].answers.map(
(tem3,index3)=>{
setFieldValue(`payload[${index}]。答案[${index3}]。正确`,错误);
}
);
setFieldValue(flagName,true);
}}
>
{values.payload[index]。答案[index2]。正确
?“正确答案”
:“标记为正确”
}
我还更新了这里的
Codesandbox
示例