【问题标题】:Get value of Checkbox in react custom checkbox在反应自定义复选框中获取复选框的值
【发布时间】:2021-04-22 01:29:22
【问题描述】:

我有这个动态复选框,我只想用选定的选项更新状态,我尝试添加一些检查来过滤更改状态,但似乎我没有看到哪里出了问题!

const checkBoxesOptions = [
    { id: 1, title: 'serviceOne' },
    { id: 2, title: 'serviceTwo' },
    { id: 3, title: 'serviceThree' },
];

const [selectedCheckBoxes, setSelectedCheckBoxes] = React.useState([]);

{checkBoxesOptions.map((checkBox, i) => (
                    <CheckBox
                        key={i}
                        label={checkBox.title}
                        value={1}
                        checked={false}
                        onChange={value => {
                            let p = {
                                title: checkBox.title,
                                isTrue: value,
                            };
                            if (p.isTrue) {
                                const tempstate = selectedCheckBoxes.filter(
                                    checkbox => checkbox !== checkBox.title
                                );
                                console.log('temp state', tempstate);
                                setSelectedCheckBoxes([...selectedCheckBoxes, p.title]);
                            }

        
                            console.log(p);
                        }}
                    />
                ))}

【问题讨论】:

    标签: javascript reactjs checkbox


    【解决方案1】:

    value 参数是事件对象。

    (event) => {
        const value = event.target.checked
        <... Rest of the code ...>
      }
    
    

    【讨论】:

    • 嗨科迪!谢谢!根据他们的文档,值为 boolean ,npmjs.com/package/react-custom-checkbox
    • 你代码中的value参数其实就是事件对象,用上面的代码可以得到布尔值。
    • 它给了我未定义
    • 我推荐 console.log'ing 事件对象,看看它是什么
    • 是的,我做到了!所以我使用的这个库github.com/LarvenLLC/react-custom-checkbox 你无法获取 value 事件,只有开箱即用的检查值
    猜你喜欢
    • 2016-04-06
    • 2021-07-18
    • 2022-11-09
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多