How to set default Checked in checkbox ReactJS?

前端 未结 16 1824
难免孤独
难免孤独 2020-11-27 11:51

I\'m having trouble to update the checkbox state after it\'s assigned with default value checked="checked" in React.

var rCheck = React         


        
相关标签:
16条回答
  • 2020-11-27 12:40

    You may pass "true" or "" to the checked property of input checkbox. The empty quotes ("") will be understood as false and the item will be unchecked.

    let checked = variable === value ? "true" : "";
    <input
         className="form-check-input"
        type="checkbox"
        value={variable}
        id={variable}
        name={variable}
        checked={checked}
    />
    <label className="form-check-label">{variable}</label>
    
    0 讨论(0)
  • 2020-11-27 12:43
    <div className="display__lbl_input">
                  <input
                    type="checkbox"
                    onChange={this.handleChangeFilGasoil}
                    value="Filter Gasoil"
                    name="Filter Gasoil"
                    id=""
                  />
                  <label htmlFor="">Filter Gasoil</label>
                </div>
    
    handleChangeFilGasoil = (e) => {
        if(e.target.checked){
            this.setState({
                checkedBoxFG:e.target.value
            })
            console.log(this.state.checkedBoxFG)
        }
        else{
         this.setState({
            checkedBoxFG : ''
         })
         console.log(this.state.checkedBoxFG)
        }
      };
    
    0 讨论(0)
  • 2020-11-27 12:44

    If the checkbox is created only with React.createElement then the property defaultChecked is used.

    React.createElement('input',{type: 'checkbox', defaultChecked: false});
    

    Credit to @nash_ag

    0 讨论(0)
  • 2020-11-27 12:47

    Here's a code I did some time ago, it might be useful. you have to play with this line => this.state = { checked: false, checked2: true};

    class Componente extends React.Component {
      constructor(props) {
        super(props);
    
        this.state = { checked: false, checked2: true};
        this.handleChange = this.handleChange.bind(this);
        this.handleChange2 = this.handleChange2.bind(this);
    
      }  
    
      handleChange() {
        this.setState({
            checked: !this.state.checked      
        })
      }
    
      handleChange2() {
        this.setState({
            checked2: !this.state.checked2      
        })
      }
    
      render() {
        const togglecheck1 = this.state.checked ? 'hidden-check1' : '';
        const togglecheck2 = this.state.checked2 ? 'hidden-check2' : '';
    
        return <div>
            <div>
            <label>Check 1</label>
            <input type="checkbox" id="chk1"className="chk11" checked={ this.state.checked } onChange={ this.handleChange } />
            <label>Check 2</label>
            <input type="checkbox" id="chk2" className="chk22" checked={ this.state.checked2 } onChange={ this.handleChange2 } />
          </div>
    
          <div className={ togglecheck1 }>show hide div with check 1</div>
          <div className={ togglecheck2 }>show hide div with check 2</div>
    
        </div>;
      }
    }
    
    ReactDOM.render(
      <Componente />,
      document.getElementById('container')
    );
    

    CSS

    .hidden-check1 {
      display: none;  
      }
    
    .hidden-check2 {
      visibility: hidden;
    }
    

    HTML

      <div id="container">
          <!-- This element's contents will be replaced with your component. -->
      </div>
    

    here's the codepen => http://codepen.io/parlop/pen/EKmaWM

    0 讨论(0)
提交回复
热议问题