【发布时间】:2019-01-29 20:31:15
【问题描述】:
我在 Angular 中有类似的代码,而且效果很好。我试图将代码转换为 React 版本。它工作得很好,除非我尝试删除一行。每次删除单击都会删除最后一行。我的期望是删除我单击“删除”按钮的行。我正在传递需要删除的索引项。我提供了下面的示例,您也可以在这里尝试...https://jsfiddle.net/w6cy0bx1/11/
class MineCts extends React.Component{
constructor(props){
super(props);
this.state = {
items:[]
};
}
render(){
return(
<div>
<div><button onClick={(event)=>this.add(event)} >Add</button></div>
<div>
This is sample:
{this.state.items.map((record, index)=>{
return(
<table>
<tr key={index}>
<td> <input id="Name" value={record.Name} onChange={this.onDataChange}/> </td>
<td> <input id="Counter" value={record.Counter} onChange={this.onDataChange} /> </td>
<td><button onClick={(event)=>this.remove(event, record, index)} >Remove</button></td>
</tr>
</table>
)
})}
</div>
</div>
)
}
onDataChange(e)
{
console.log(e.target.id)
this.setState({[e.target.id]:e.target.value})
}
add(e){
let rows = this.state.items;
rows.push({});
this.setState({items:rows})
}
remove(e, record, index){
console.log(record)
console.log(index)
let rows = this.state.items;
rows.splice(index, 1);
this.setState({items:rows})
}
}
ReactDOM.render(<MineCts />, mountNode)
【问题讨论】:
标签: asp.net-mvc reactjs