gpt4 book ai didi

javascript - 映射时如何管理多个单选选项组的状态

转载 作者:行者123 更新时间:2023-12-02 21:14:47 24 4
gpt4 key购买 nike

我希望能够管理将动态呈现的单选按钮组的状态。

下面的代码呈现 2 组 radio 组(可能更多),并且这两个组状态均由“const [delay, setDelay] = useState('accept');”管理。我需要单独管理每个组的状态。

const [delay, setDelay] = useState('accept');

...

{data.map(({ delayOwner }, index: number) => (
<Tr key={index}>
{delayOwner && (
<Td>
<RadioOption
groupId={`radioDelay-${index}`}
label="Accept"
onChange={() => setDelay('accept')}
value={delay === 'accept'}
/>
<RadioOption
groupId={`radioDelay-${index}`}
label="Reject"
onChange={() => setDelay('reject')}
value={delay === 'reject'}
/>
</Td>
)}

当前输出:如果我在第一个单选组上选择接受/拒绝,第二个单选组也会更改。

* Accept O Reject
* Accept O Reject

* = selected, O = not selected

任何帮助将不胜感激!

最佳答案

您需要将索引与您的状态一起使用以将其分开

{data.map(({ delayOwner }, index: number) => (
<Tr key={index}>
{delayOwner && (
<Td>
<RadioOption
groupId={`radioDelay-${index}`}
label="Accept"
onChange={() => setDelay({...delay, index:"accept"})}
value={delay[index] === 'accept'}
/>
<RadioOption
groupId={`radioDelay-${index}`}
label="Reject"
onChange={() => setDelay({...delay, index:"reject"})}
value={delay[index] === 'reject'}
/>
</Td>
)}

关于javascript - 映射时如何管理多个单选选项组的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61000404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com