javascript - ReactJS:选中另一个复选框时取消选中先前选中的复选框

标签 javascript reactjs

所以,我的代码位于 Advanced.js 。它生成复选框。

<div>
    <h6>Sellers</h6>
    {
    data.data.map((item, i) => {
        return <div className="custom-control custom-checkbox" key={i}>
                 <input type="checkbox" className="custom-control-input" id={item.slug} name={item.slug} onClick={this.props.filterItems()}/>
                 <label className="custom-control-label" htmlFor={item.slug}>{item.name}</label>
                </div>
    }) 
    }
</div>

这是来自index.js 。 我打了Advanced.js :<Advanced filterItems={() => this.getBrand}

这是 getBrand 函数:

getBrand = (e) => {
        var checked = !e ? false : e.target.checked
        var name = !e ? "" : e.target.name
        if(checked){
            this.setState({
                brands: name
            }, () => {
                this.filterSeller()
            })
        }else{
            this.setState({
                brands: ""
            }, () => {


    this.home()
        })
    }

}

发生的情况是,当我选中一个复选框并选中另一个复选框时,它们都会被选中。像这样:

enter image description here

我想要发生的是,当我选中另一个复选框时,之前选中的复选框应该取消选中。我怎样才能做到这一点?谢谢!

最佳答案

您应该使用专门为此用例制作的单选按钮 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/radio

关于javascript - ReactJS:选中另一个复选框时取消选中先前选中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52942468/

相关文章:

javascript - componentDidMount 内的 "setState(…): Can only update a mounted or mounting component"

c# - 从 javascript 调用 ASP 生成的按钮单击

javascript - 正则表达式 - 选择不是标签名称或属性的单词

未读取 Javascript 类属性

javascript - 如何循环遍历 `this.state` 对象中的数组?

javascript - React-Redux Dashboard 应用程序结构

javascript - es6 - 导入所有没有别名的命名模块

javascript - 运行一次 JS 函数

javascript - 在不使用选项卡的情况下浏览 jQuery 对话框中的不同内容

javascript - react JS : Use environment variables to specify two API urls based on production vs development