我正在尝试打印每行 4 个复选框,其中这些复选框的行和值是动态出现的(行数可能会有所不同)获取matix数据后,我设置状态变量const[checked, setChecked] = useState([]) 如下.then((rec) => { if (rec.status === 200) { let chk = []; rec.data.data.map((item, idx) => { var obj = {}; obj[item.roleDescription + `_readAccess`] = item.readAccess; chk.push(obj); obj[item.roleDescription + `_writeAccess`] = item.writeAccess; chk.push(obj); obj[item.roleDescription + `_checkerAccess`] = item.checkerAccess; chk.push(obj); obj[item.roleDescription + `_makerAccess`] = item.makerAccess; chk.push(obj); }); setChecked(chk); } })我尝试过的是,因为我的行动态变化,所以我state使用 as 创建了变量条目rowName + one of check box label,所以当onChange在 CheckBox 上触发时,它应该更改状态并且需要切换复选框。但复选框没有被切换,在 CODESANDBOX示例代码中编辑添加的示例片段
1 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
请=== 1 ? false : true
从中删除,checked
因为onChange
您正在设置boolean
setChecked({ ...checked, [e.target.name]: e.target.checked})
Codesandbox:https://codesandbox.io/s/wonderful-paper-lvcwe?file=/src/Demo.jsx
编辑1
useEffect(() => { console.log("checked called"); }, [checked]);
添加回答
举报
0/150
提交
取消