首页 > 解决方案 > reactjs中的复选框属性DefaultChecked不适用于单选按钮更新的状态

问题描述

基于单选按钮(下面提到的html)的值,我想将复选框标记为选中或未选中。下面是我的代码,它不起作用。

谢谢你的建议。

单选按钮

    <Input
      type="radio"
      name="radio1"
      value="No"
      defaultChecked
      onChange={ (e) => {
                         this.setState({
                                        auto_registration: e.target.value
                                       })
                        } } />
    <Input
      type="radio"
      name="radio1"
      value="Yes"
      onChange={ (e) => {
                         this.setState({
                                        auto_registration: e.target.value
                                       })
                        } } />

复选框

<Input
      type="checkbox"
      defaultChecked={ this.state.auto_registration && this.state.auto_registration == "Yes" ? true : false }
      disabled={ this.state.auto_registration && this.state.auto_registration == "Yes" ? true : false } />

标签: reactjsreactstrap

解决方案


defaultChecked属性仅用于初始渲染。如果您想要一个受控的选中输入,请改为使用选中的属性

<Input
      type="checkbox"
      checked={ this.state.auto_registration && this.state.auto_registration == "Yes" ? true : false }
      disabled={ this.state.auto_registration && this.state.auto_registration == "Yes" ? true : false } />

推荐阅读