使用react native从嵌套列表中删除行

时间:2019-01-28 15:57:59

标签: reactjs react-native

当用户想要删除时,我正在尝试从列表中删除一行,但是我发现这样做很困难。使用我的代码,当用户点击时,删除任何操作

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'
    }
  ]
}

查看

1 个答案:

答案 0 :(得分:3)

您可以通过从与给定的id相同的项中过滤掉数组来轻松实现它:

handleExistGroup = item => {
    this.setState(prev => ({ userList: prev.userList.filter(user => user.id !== item.id) }));
}