当用户想要删除时,我正在尝试从列表中删除一行,但是我发现这样做很困难。使用我的代码,当用户点击时,删除任何操作
handleExistGroup = (item) => {
var array = [...this.state.userList];
var index = array.indexOf(item.id)
if (index !== -1) {
array.splice(index, 1);
this.setState({userList: array});
}
}
状态
state = {
userList : [
{
id: '1',
name: 'LOL Group',
description: 'LOL Group',
icon: 'https://s3.amazonaws.com/uifaces/faces/twitter/brynn/128.jpg'
},
{
id: '2',
name: 'Fantasy Travel',
description: 'Travelling',
icon: 'https://s3.amazonaws.com/uifaces/faces/twitter/brynn/128.jpg'
}
]
}
查看
答案 0 :(得分:3)
您可以通过从与给定的id
相同的项中过滤掉数组来轻松实现它:
handleExistGroup = item => {
this.setState(prev => ({ userList: prev.userList.filter(user => user.id !== item.id) }));
}