创建动态收音机,但影响他人

Created the dynamic radio, but it is affect others

我已经创建了动态单选列表,它正在根据项目显示正确的数据。

   {item.responseType === "radio" && (
                          <div className="form-control-wrap">
                            {item.options
                              .split(",")
                              .map((list, indexRadio) => (
                                <Form.Check
                                  key={indexRadio}
                                  id={item.id}
                                  label={list}
                                  name="radio"
                                  value={list}
                                  onChange={(e, indexRadio) =>
                                    handleChange(e, indexQuestion)
                                  }
                                  type="radio"
                                />
                              ))}
                          </div>
                        )}

但是当我select选择一个选项时它会影响到其他选项,

就像我 select 问题 1 一样,它工作正常即:它是 select 只有一个选项,但是当转到问题 2 和 select 任何选项时它是 select 来自问题 2 的数据,但是,问题 1 选项将设置为初始状态。(它正在重置)

让我知道我该怎么做?

您正在使用对所有人都相同的 name="radio",因此它处理来自同一组的所有单选按钮。对同一问题的所有选项使用相同的名称。它会解决你的问题。您可以使用问题 ID 作为单选按钮名称,以便该问题的所有选项都相同,并且与其他问题不同。

我认为使用这种变体可以帮助您实现目标:更改

中的密钥
<Form.Check
   key={item.id}
 />