我正在做类似的事情,但该值被视为字符串而不是具有 bool 值的变量
{question.data.map((value, i) => (
<View style={{ flexDirection: 'row', alignItems: 'center', justifyContent: 'center' }}>
<CheckBox value={`this.state.checked${i}`} onValueChange={() => this.toggleCheckBox(i)} />
<Text>{value.question}</Text>
</View>
))
}
这是我的toggleCheckBox方法
toggleCheckBox(i) {
this.setState({ [`checked${i}`]: ![`this.state.checked${i}`] });
}
需要帮助。
最佳答案
问题在于在 this.state 周围添加字符串插值
toggleCheckBox(i) {
this.setState({ [`checked${i}`]: !this.state[`checked${i}`] });
}
{question.data.map((value, i) => (
<View style={{ flexDirection: 'row', alignItems: 'center', justifyContent: 'center' }}>
<CheckBox value={this.state[`checked${i}`]} onValueChange={() => this.toggleCheckBox(i)} />
<Text>{value.question}</Text>
</View>
))
}
关于javascript - 使用 map 功能时如何动态地将每个状态绑定(bind)到每个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52403458/