Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 在react native中查找并替换数组中的键_React Native_Listview_Checkbox - Fatal编程技术网

React native 在react native中查找并替换数组中的键

React native 在react native中查找并替换数组中的键,react-native,listview,checkbox,React Native,Listview,Checkbox,我试图在平面列表中实现复选框和未选中框 我检查了一个关键词。基于此关键字,我想显示复选框(选中或未选中) 我试图在选择和取消选择时更新选中键 但是会有错误 谁能告诉我这里怎么了 这是我的密码: updateItem(item) { this.setState({ array : ! this.array.findIndex(item => item.title === item.title).checked }) this.setState({ arr

我试图在平面列表中实现复选框和未选中框

我检查了一个关键词。基于此关键字,我想显示复选框(选中或未选中)

我试图在选择和取消选择时更新选中键

但是会有错误

谁能告诉我这里怎么了

这是我的密码:

updateItem(item) {
    this.setState({
      array :  ! this.array.findIndex(item => item.title === item.title).checked
    })
    this.setState({ array: [...this.array] });

}
我的阵列是:

(this.array = [{title: "Option 1",checked:"false"},
      { title: "Option 2" ,checked:"false"},
      { title: "Option 3",checked:"false"},
      { title: "Option 4",checked:"false" },
      { title: "Option 5",checked:"false"}
    ])

谢谢

您现在正在将数组设置为true或false

还要确保选中的值是
布尔值
,而不是
字符串

this.array=[{title:“选项1”,选中:false},
{标题:“选项2”,选中:false},
{标题:“选项3”,选中:false},
{标题:“选项4”,选中:false},
{标题:“选项5”,选中:false}
]
此方法将映射到您的数组。如果标题匹配,它将切换选中的值,否则它将再次返回相同的对象

updateItem=(项目)=>{
这是我的国家({
数组:this.state.array.map(curr=>{
如果(item.title==当前标题){
返回{…curr,选中:!curr.checked}
}否则{
返回货币
}
})
})
}

您现在正在将数组设置为true或false

还要确保选中的值是
布尔值
,而不是
字符串

this.array=[{title:“选项1”,选中:false},
{标题:“选项2”,选中:false},
{标题:“选项3”,选中:false},
{标题:“选项4”,选中:false},
{标题:“选项5”,选中:false}
]
此方法将映射到您的数组。如果标题匹配,它将切换选中的值,否则它将再次返回相同的对象

updateItem=(项目)=>{
这是我的国家({
数组:this.state.array.map(curr=>{
如果(item.title==当前标题){
返回{…curr,选中:!curr.checked}
}否则{
返回货币
}
})
})
}

使用以下代码

this.state.array = [{title: "Option 1",checked:false},
      { title: "Option 2" ,checked:false},
      { title: "Option 3",checked:false},
      { title: "Option 4",checked:false },
      { title: "Option 5",checked:false}
]
在构造函数中将this.array更改为this.state.array。如果你 如果在任何其他函数中执行,则必须使用setState

在更新的同时,

updateItem = (item) => {
    this.setState({
      array : this.state.array.map(item => {
        if(item.title === item.title) {
         return {...item, checked: !item.checked};
        } else {
         return { ...item, checked: false }; // if you want only one checked
         // return item; if multiple checks if fine.
        }
      })
    })
}

使用以下代码

this.state.array = [{title: "Option 1",checked:false},
      { title: "Option 2" ,checked:false},
      { title: "Option 3",checked:false},
      { title: "Option 4",checked:false },
      { title: "Option 5",checked:false}
]
在构造函数中将this.array更改为this.state.array。如果你 如果在任何其他函数中执行,则必须使用setState

在更新的同时,

updateItem = (item) => {
    this.setState({
      array : this.state.array.map(item => {
        if(item.title === item.title) {
         return {...item, checked: !item.checked};
        } else {
         return { ...item, checked: false }; // if you want only one checked
         // return item; if multiple checks if fine.
        }
      })
    })
}

有什么问题errors@GokulKulkarni它没有更新值。问题是什么errors@GokulKulkarni它没有更新值,我认为这两个相同的项目变量都会产生问题。我已将dit替换为:updateItem=(item)=>{this.setState({array:this.state.array.map(itemObj=>{if(item.title===itemObj.title){return{…item,checked:!item.checked}}else{return item}}}}是否正确?抱歉。没错:)现在应该没问题了Tobias,你知道Legend吗?我认为这两个相同的项目变量都会产生问题。我已将dit替换为:updateItem=(item)=>{this.setState({array:this.state.array.map(itemObj=>{if(item.title===itemObj.title){return{…item,checked:!item.checked}}else{return item}}}}是否正确?抱歉。是的,没错:)现在应该没事了托比亚斯,你这个传说我还有一个问题你能检查一下吗?我还有一个问题你能检查一下吗-