我有这个复选框示例
constructor(props) {
super(props);
this.state = {
check: true,
};}
checkBoxtTest(){
this.setState(
{check:!this.state.check})}
退货
<CheckBox
value={this.state.check} onChangee={()=>this.checkBoxtTest()}
/>
当我再次按下复选框时,值保持不变
答案 0 :(得分:1)
您遇到错字“ onChange”
<CheckBox
value={this.state.check} onChange={()=>this.checkBoxtTest()}
/>
如果您正在使用状态更改状态,请按照以下方式
this.setState((prevState) => ({check: !prevState.check}))
您可以使用箭头功能代替普通功能
checkBoxtTest = () => {
this.setState((prevState) => ({check: !prevState.check}));
}
答案 1 :(得分:0)
首先,将其更改为onChange
。根据最佳做法,建议将checkBoxTest
绑定到constructor
中。
constructor(props) {
super(props);
this.state = {
check: true,
};
this.checkBoxtTest = this.checkBoxtTest.bind(this);
}
checkBoxtTest(){
this.setState({
check : !this.state.check
})
}
<CheckBox value={this.state.check} onChange={this.checkBoxtTest()} />
答案 2 :(得分:0)
import React, { Component } from 'react';
import { Container, Content, ListItem, CheckBox, Text, Body } from 'native-base';
export default class App extends Component {
constructor(props) {
super(props);
this.state = {
checked: true
}
}
render() {
return (
<Container>
<Content>
<ListItem>
<CheckBox
checked={this.state.checked}
onPress={() => this.setState({checked: !this.state.checked})}
/>
<Body>
<Text>Finish list Screen</Text>
</Body>
</ListItem>
</Content>
</Container>
);
}
}