在复选框中,默认值为null,我在需要时将其设置为true但是我也想到了一个需要设置的条件,当复选框已经被选中时,我想取消选中它并将值设置为false而不是null。
假设alwaysSelected -如果它被选中,它是true(onload)基于这个条件,我应该更新状态
this.state = {
checkbox: null,
}
this.props.alwaysSelected=true
<Checkbox
onChange={this.ChangeValue}
/>
ChangeValue= (event) => {
this.setState(checboxState=> ({
checkbox: checboxState.checkbox ? null : true
});
})
输入prevState。复选框在页面加载时为true那么它只会给出null但需要将其设置为false
选项尝试setState回调和componentdiduupdate,但未能实现。
我们可以用另一种方法吗?
您可以将复选框状态作为值传递给checkbox组件并更改事件:
ChangeValue = () => this.setState({checkbox:!checkbox});
或if事件返回true/false
ChangeValue = event => this.setState({checkbox:!event});