我正在学习REACT Native,我正在尝试使用复选框。我们从React Native导入的普通复选框。即来自React-Native的导入{复选框}为我工作。但是,当我尝试使用React-Native elements的复选框时,它不起作用。它仅设置未检查图标的默认值,并且不会更改。
<View style = {styles.containerForCheckBoxValues}>
<CheckBox
style={styles.checkBox}
checkedIcon={<Image source={require('/root/VS_Code/JavascriptProjects/assets/Images/Checkboxactive/Checkboxactive.png')} />}
uncheckedIcon={<Image source={require('/root/VS_Code/JavascriptProjects/assets/Images/Checkboxdefault/Checkboxdefault.png')} />}
value={this.state.checkedForKids}
onChange={() => this.onChangeCheckForKids()} />
<Text style={styles.textViewStyleKidsStatusLabel}>Have Kids</Text>
</View>;
在react-native-elements上,您有一个prop checked
它必须在 true
或 false
之间更改,这是定义是否已检查的方法。要更改您可以调用功能onPress
。
<CheckBox
style={styles.checkBox}
checkedIcon={<Image source={require('/root/VS_Code/JavascriptProjects/assets/Images/Checkboxactive/Checkboxactive.png')} />}
uncheckedIcon={<Image source={require('/root/VS_Code/JavascriptProjects/assets/Images/Checkboxdefault/Checkboxdefault.png')} />}
checked={this.state.checkedForKids}
title='Your title'
onPress={() => this.onChangeCheckForKids()}
用多个复选框以我的方式使用了一个数组。如果您知道要容易多少复选框,那么每个复选框都只需"属性"一个数字,例如。复选框1将是数组中的位置0。
如果您不知道有多少,我会为您的对象设置额外的钥匙。看起来像这样:
let x = [{
title: 'this is your title',
id: 1,
checked:true,
}{
title: 'this is your second title',
id: 2,
checked:false,
}];
完整的简单工作示例:
<CheckBox
title={'click here'}
checked={this.state.delivery}
onPress={() => this.setState({ delivery: !this.state.delivery })}/>