【发布时间】:2019-09-18 08:26:36
【问题描述】:
我正在尝试从项目列表中删除一个项目,但它似乎不起作用。我有一个页面,我可以在其中动态添加条目,也可以单独删除项目。添加似乎工作正常。
沙盒:https://codesandbox.io/s/angry-heyrovsky-r7b4k
代码
import React from "react";
import ReactDOM from "react-dom";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
value: "",
values: []
};
}
onChange = event => {
this.setState({ value: event.currentTarget.value });
};
onAdd = () => {
this.setState({
value: "",
values: [...this.state.values, this.state.value]
});
};
onRemove = index => {
console.log(index);
let { values } = this.state;
let filteredIDs = values.splice(index, 1);
this.setState({
values: filteredIDs
});
};
render() {
let { values, value } = this.state;
return (
<>
<input
required
placeholder="xyz@example.com"
value={value}
onChange={this.onChange}
/>
<button onClick={this.onAdd}>Add</button>
<div>
<ul className="email-list-holder wd-minus-150">
{values.map((value, index) => (
<li key={index}>
{value}
<button
onClick={() => this.onRemove(index)}
style={{ cursor: "pointer" }}
>
Remove
</button>
</li>
))}
</ul>
</div>
</>
);
}
}
【问题讨论】:
-
but it does not seem to work您应该已经注意到实际发生的事情并在您的问题中提到了这一点
标签: javascript reactjs ecmascript-6 setstate