constructor(props){
super(props);
this.state = {
postdata : {
type : '',
date : '',
money : '',
desc :'',
},
errormess : ''
}
this.savedata = this.savedata.bind(this);
}
closeSlide(){
this.props.callbackParent();
}
// 费用类型
handleType(e){
let value = e.target.value;
this.setState({
postdata : {
type : value
}
})
}
// 产生费用时间
handleDate(e){
let value = e.target.value;
this.setState({
postdata : {
date : value
}
})
}
// 费用金额
handleMoney(e){
// this.setState( Object.assign({},this.state,{ postdata : { money: e.target.value.trim()} }) )
let value = e.target.value.trim();
this.setState({
postdata : {
money : value
}
})
}
// 费用由来
handleDesc(e){
// this.setState( Object.assign({},this.state,{ postdata : { desc: e.target.value.trim()} }) )
let value = e.target.value.trim();
this.setState({
postdata : {
desc : value
}
})
}
savedata(){
console.log(this.state.postdata);
}
新手提问,react设置state中的object
rongj
#1
cxxsn
#2
postdata对象下面还有其他字段,可以先用Object.assign处理一下。
this.setState(Object.assign({}, this.state.postdata, {type: value}));