3 回答
TA贡献1806条经验 获得超8个赞
你的问题是这个,
currentEmp: {}
您正在设置currentEmp为空白对象,并且在Form组件中使用此对象在 中设置状态componentDidUpdate,Form组件中的结果状态未获取值。
也不要直接改变状态。
您可以将您的currentEmp值对象设置为空,并且您的状态更新应该是,
this.setState({
employees: this.state.employees.map((emp,index) => index === this.state.index ? {name,age,email} : emp),
current: 'SAVE',
currentEmp:{name:'',age:'',email:''}
});
同样在您的Form组件中,在submit您正在执行此操作的功能中,
this.setState({name: '', age: '', email: ''});
设置时不需要currentEmp:{name:'',age:'',email:''}。你的componentDidUpdate方法会解决这个问题。
TA贡献1779条经验 获得超6个赞
您是否尝试过读取submit函数中的属性?喜欢:
submit() {
const { name, age, email } = this.state;
if (this.props.submitMe) {
this.props.submitMe(name, age, email);
}
this.setState({name: '', age: '', email: ''}); // clear form after click on submit
}
添加回答
举报