有没有办法遍历按钮列表并在单击时切换特定按钮?

时间:2021-03-10 21:17:42

标签: javascript reactjs iterator react-hooks

问题 - 当我单击一个按钮显示答案文本时,另一个按钮也会打开。我只希望每个问题的答案在我点击时打开。

我的代码 -

.root {
     -fx-background-color: beige;
}

2 个答案:

答案 0 :(得分:0)

将您的 isOpen 设置为一个对象,然后根据需要将布尔值分配为 isOpen[index]=false|true。在 HTML 中,绑定为 isOpen[i] &&...

您在这里所做的问题是变量 isOpen 与您的 Questions 对象无关。

答案 1 :(得分:0)

您可以将 isOpen 更改为一个对象并像这样设置。

const [isOpen, setIsOpen] = useState({})
const toggle = (i) => setIsOpen({...isOpen, [i]:!isOpen[i]})

然后像这样使用

<button onClick={() => toggle(i)} key={i}>
    {element.question}
</button>
{isOpen[i] && <p key={i}>{element.answer}</p>}