首页 > 解决方案 > 如果在本机反应中未选中所有复选框,如何禁用按钮

问题描述

有 3 个复选框,我必须使一个复选框成为强制性的。就像如果所有复选框都未选中,那么按钮应该被禁用。请帮助我。我该怎么办。

<View style={{ flexDirection: 'row', paddingLeft: 15 }}>
  <View style={{ flex: 1 }}>
    <CheckBox color="#00678f" 
      checked={this.state.notification.isContactByPost}
      onPress={() => this.handleChange('isContactByPost')} 
    />
 </View>
 <View style={{ flex: 1 }}>
   <Text style={{ fontSize: 14 }}>Post</Text>
 </View>
 <View style={{ flex: 1 }}>
   <CheckBox color="#00678f"
     checked={this.state.notification.isContactByEmail}
     onPress={() => this.handleChange('isContactByEmail')} 
   />
 </View>
 <View style={{ flex: 1 }}>
   <Text style={{ fontSize: 14 }}>Email</Text>
 </View>
 <View style={{ flex: 1 }}>
   <CheckBox color="#00678f"
     checked={this.state.notification.isContactBySms}
     onPress={() => this.handleChange('isContactBySms')}
   />
 </View>
 <View style={{ flex: 1 }}>
   <Text style={{ fontSize: 14 }}>SMS</Text>
 </View>
</View>  
<View style={{ marginTop: 50 }}>
 <PrimaryBtn 
   label={'submit'}
   disabled={false}
   onPress={() => this.OnButtonClick(this.state.notification)} 
 />
 </View>
 </View>

谢谢

标签: javascriptreactjsreact-native

解决方案


这是你可以做到的

<PrimaryBtn label={'submit'} disabled={!this.state.notification.isContactByPost && 
    !this.state.notification.isContactByEmail && 
    !this.state.notification.isContactBySms}  onPress={() => 
    this.OnButtonClick(this.state.notification)} />

希望这可以帮助


推荐阅读