故事是,我应该可以把鲍勃、莎莉和杰克放进一个盒子里。我也可以从盒子中取出任何一个。移除后,不会留下任何插槽。
people = ["Bob", "Sally", "Jack"]
我现在需要删除,比如说“Bob”。新数组将是:
["Sally", "Jack"]
这是我的反应组件:
... getInitialState: function() { return{ people: [], } }, selectPeople(e){ this.setState({people: this.state.people.concat([e.target.value])}) }, removePeople(e){ var array = this.state.people; var index = array.indexOf(e.target.value); // Let's say it's Bob. delete array[index]; }, ...
在这里,我向您展示了一个最小的代码,因为它还有更多(onClick 等)。关键部分是从数组中删除、移除、销毁“Bob”,但removePeople()在调用时不起作用。有任何想法吗?我正在看这个,但由于我使用的是 React,所以我可能做错了什么。
removePeople()
要从数组中删除元素,只需执行以下操作:
array.splice(index, 1);
在你的情况下:
removePeople(e) { var array = [...this.state.people]; // make a separate copy of the array var index = array.indexOf(e.target.value) if (index !== -1) { array.splice(index, 1); this.setState({people: array}); } },