首页 > 解决方案 > 在 React 中输入复选框值到数组

问题描述

我有一个复选框,我希望它的值作为数组输出,只有值是真的。我的问题是它只输出真假值。我想将name它的值作为数组输出为真

请在此处检查我的代码和框 单击此处

  const handleChange = (event) => {
    setCheckedItems({
      ...checkedItems,
      [event.target.name]: event.target.checked
    });
  };
  console.log(Object.values(checkedItems));

预期样本输出

['check-box-1', 'check-box-2']

标签: javascriptreactjsecmascript-6react-hooks

解决方案


问题是您只记录值:console.log(Object.values(checkedItems));而不是实际状态。

要查看实际状态,您的日志应该是简单的console.log(checkedItems);.

要仅使用名称查看所需的输出,您的日志应该是console.log(Object.keys(checkedItems));

要仅获取已检查项目的密钥:

console.log(Object.keys(checkedItems).filter(key => checkedItems[key]));

编辑多个复选框 React Hooks (fork)


推荐阅读