我有三个按钮,当单击它们时,我想要向动态添加的选定字段添加值:
const [Fields, setFields] = useState([
{ value: [], current: true },
{ value: [], current: false }
]);
value
-是单击按钮时要向其添加值的键
current
-这些键存储当字段被点击时所选字段的状态
const [Fields, setFields] = useState([
{ value: [], current: true },
{ value: [], current: false }
]);
<button onClick={() => {}} data-value="A">A</button>
<button onClick={() => {}} data-value="B">B</button>
<button onClick={() => {}} data-value="C">C</button>
{Fields.map((field, i) => {
return (
<div key={i}>
<div
onClick={() => {
setFields((oldArr) => {
let newArr = oldArr.map((item, index) => {
return {
...item,
current: index === i ? true : false,
};
});
return newArr;
});
}}
>
field.value <=== here need to add here the value from the buttons `data-value` on click
</div>
</div>
)})}
我只想在相邻键current
为真的情况下将点击按钮(data-value
)中的符号添加到键value
.例如,如果交替单击A和B,则应将AB添加到键value
.
如果我们按不同的顺序点击B和A,就会得到BA.