Javascript 我正在创建一个包含react原生元素的复选框列表。如何一次只勾选一个复选框?

Javascript 我正在创建一个包含react原生元素的复选框列表。如何一次只勾选一个复选框?,javascript,ios,react-native,checkbox,react-native-elements,Javascript,Ios,React Native,Checkbox,React Native Elements,我正在制作一个复选框列表,但当我按下一个复选框时,它会选中所有复选框。我想一次选择一个 我尝试了react native elements 1.1.0文档中的示例代码以及其他人提供的示例,但找不到解决方案 constructor() { super(); this.state = { checked1: false, checked2: false, }; } render() { return ( <View s

我正在制作一个复选框列表,但当我按下一个复选框时,它会选中所有复选框。我想一次选择一个

我尝试了react native elements 1.1.0文档中的示例代码以及其他人提供的示例,但找不到解决方案

constructor() {
    super();

    this.state = {
      checked1: false,
      checked2: false,
    };
  }

render() {
    return (
      <View style={styles.container}>
        <ScrollView>
          <CheckBox
            checkedIcon='dot-circle-o'
            uncheckedIcon='circle-o'
            title='checkbox 1'
            checkedColor='red'
            checked1={this.state.checked1}
            onPress={() => this.setState({ checked1: !this.state.checked1 })}
          />
          <CheckBox
            checkedIcon='dot-circle-o'
            uncheckedIcon='circle-o'
            title='checkbox 2'
            checkedColor='red'
            checked2={this.state.checked2}
            onPress={() => this.setState({ checked2: !this.state.checked2 })}
          />
        </ScrollView>
      </View>
    );
  }
}
constructor(){
超级();
此.state={
检查1:错误,
检查2:错误,
};
}
render(){
返回(
this.setState({checked1:!this.state.checked1})
/>
this.setState({checked2:!this.state.checked2})
/>
);
}
}

我想一次选中一个复选框(选择我按下的复选框,而不是一次选中所有复选框)。

好的,我为您创建了一个简单的测试

基本上,如果您分别为每个复选框指定了一个单独的状态,它将起作用

  constructor() {
      super();

      this.state = {
        checked1: false,
        checked2: false,
      };
    }

  render() {
    return (
      <View style={styles.container}>
        <ScrollView>
          <CheckBox
            checkedIcon='dot-circle-o'
            uncheckedIcon='circle-o'
            title='checkbox 1'
            checkedColor='red'
            checked={this.state.checked1}
            onPress={() => this.setState({ checked1: !this.state.checked1 })}
          />
          <CheckBox
            checkedIcon='dot-circle-o'
            uncheckedIcon='circle-o'
            title='checkbox 2'
            checkedColor='red'
            checked={this.state.checked2}
            onPress={() => this.setState({ checked2: !this.state.checked2 })}
          />
        </ScrollView>
      </View>
    );
  }
constructor(){
超级();
此.state={
检查1:错误,
检查2:错误,
};
}
render(){
返回(
this.setState({checked1:!this.state.checked1})
/>
this.setState({checked2:!this.state.checked2})
/>
);
}

这两个复选框的状态不是相同的,而是需要单独的状态。您能否尝试添加状态
checked1
checked2
,并将它们相应地排列到各自的复选框中?您好,谢谢您的回复。我确实试过了,但当我这么做的时候,当我点击时,它没有检查任何:(我会更新代码来告诉你我做了什么@kenmistry哦。我在下面分享了我的答案,答案完全一样:P。你能看一下测试链接吗?我的测试链接正在运行。你可以单独选中这个框。事实上,我让它运行了!我把checked1和checked2改为checked。谢谢你的帮助:D@kenmistry