今天有一个问题就是在componentDidMount里请求数据后,render就是不刷新
componentDidMount () {
let model = {
DeptId:SId
}
EnterpriseOrderService.Enterprice_deptDetail(model).then((response)=>{//封装的数据请求方法
if(response&&response.success){
console.log('response.data---',response.data);
if(response.data){
this.setState({
partmentName:response.data.Name,
DeptId:response.data.Id,
parentName:response.data.Parent.Name,
SerialNumber:response.data.SerialNumber,
ParentId:response.data.ParentId,
LeaderId:response.data.LeaderId,
LeaderName:response.data.Leader&&response.data.Leader.Name,
SettlementSubjectId:response.data.SettlementSubjectId,
SettlementSubjectName:response.data.SettlementSubject&&response.data.SettlementSubject.Name,
Status:response.data.Status==1?true:false,
})
}
}
}).catch(()=>{
this.toastMsg(error.message || '获取部门信息异常');
})
然后到render里死活打印不出来this.state.partmentName等数据,后来发现,因为 this.setState方法里的response.data.Parent是null,导致整个this.setState错误说以render不会刷新,又不报错,浪费好长时间,哎~~~小心使得万年船。
网友评论