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
示例