【发布时间】:2018-08-28 18:41:42
【问题描述】:
我正在尝试使用从 json 获取的名称创建动态复选框,this issue 看起来与我需要的相同,但如果没有代码解释,我无法实现我的目标,
我有一个这样的 json 示例:
this.state = {
data : [
{
"name": "ALL",
},
{
"name": "Android",
},
{
"name": "iOS",
},
{
"name": "React Native",
}
]}
下面的代码:
<CheckBox
center
title={this.state.data[1].name}
onPress={() => {this.setState({checked: !this.state.checked})}}
checked={this.state.checked}
/>
复选框运行良好,但仅显示 json 的第二个值
我的目标是将所有 json 值显示到 flatlist 中并使复选框运行良好,
现在我只能将这些 json 显示到 FlatList 中,但复选框不起作用
import React, { Component } from 'react';
import {
Text, View, StyleSheet, Alert, FlatList
} from 'react-native';
import Dimensions from 'Dimensions';
import { CheckBox } from 'react-native-elements'
const DeviceWidth = Dimensions.get('window').width;
const DeviceHeight = Dimensions.get('window').height;
class MedicalClearlance extends React.Component {
constructor(props){
super(props);
this.state = {
checked:[],
data : [
{
"name": "ALL",
},
{
"name": "Android",
},
{
"name": "iOS",
},
{
"name": "React Native",
}
]}
}
render() {
return (
<FlatList
data={ this.state.data }
renderItem={({item, index}) =>
<CheckBox
center
title={item.name}
onPress={() => {this.setState({checked: !this.state.checked}), console.log(this.state.checked +' '+ index)}}
checked={this.state.checked}/>
}
/>
);
}
}
谁能帮我实现我的目标?
【问题讨论】:
标签: javascript json react-native checkbox