javascript - 使用 map 功能时如何动态地将每个状态绑定(bind)到每个复选框

标签 javascript react-native checkbox

我正在做类似的事情,但该值被视为字符串而不是具有 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/

相关文章:

javascript - 如何使用 Javascript 将带有复选框的列表更改为下拉列表?

javascript - 在 Wordpress 网站上执行自定义 css 后 JS 无法正常工作

javascript - 使用webpack时如何避免这种硬编码的index.js?

react-native - react native : Correct scrolling in horizontal FlatList with Item Separator

javascript - React-Native 中的右下对齐(使用 Flex-box)不起作用

javascript - 使用 jQuery 测试复选框是否被选中

.net - 如何禁用客户端上的 TextBox 单击 CheckBox

javascript - Chrome 无法检测图像尺寸

javascript - 下面函数定义中的花括号是什么意思?

rxjs - 如何从 react 版本 6.x 的抽屉导航器中的堆栈导航器中删除标题