问题描述
循环遍历input框后想获取数组input框的值
数据结构是这样的: addItemList:[{deparment:'',types:'',money:''}],当我加入input change事件后无法在输入框里输入值,同样不能打印出正确的值
问题出现的环境背景及自己尝试过哪些方法
onInputchange=(fileds)=>(e)=>{
this.setState({ [fileds]: e.target.value });
}
相关代码
addItemList.map((item,index)=><div key={index}>
<span>服务部门:</span><Input className={s.inW} value={item.deparment} onChange={this.onInputchange(item)}></Input>
<span>费用类型:</span><Input className={s.inW} value={item.types} onChange={this.onInputchange(item)}></Input>
<span>金额:</span><Input className={s.inW2} value={item.money} onChange={this.onInputchange(item)}></Input>
<span onClick={()=>{this.deleteItem(index)}}>删除</span>
</div>
数据结构类型:
addItemList:[{deparment:'',types:'',money:''}]
render内容:
方法:`onInputchange=(types,index)=>(e)=>{
let arr = this.state.addItemList;
arrindex = e.target.value
this.setState({addItemList:[...arr]});
}
- 注意点 数据更新不能直接用 this.setState({addItemList:arr}); 否则视图不更新**