背景
*最近在做项目时遇到表单数据获取问题,
用户首先在申报者下拉框中选择数据,并根据这个数据向后台发送请求获取这条数据的详细信息,再根据返回的详细信息来生成项目所属阶段下拉框的数据。
这种需要实时使用的数据可以在dispatch时增加callback函数,返回获取数据成功后拿到的数据。
函数定义处代码如下:
handleChooseSchool=(value)=>{
const that = this;
const {dispatch}=this.props;
dispatch({
type:'EduMangeProjectsModel/getUser',
payload:{
id:value
},
callback : (res) => {
this.handleSchoolUserChange(res);
},
},
)
};
相应model下函数定义如下:
*getUser({payload,callback},{call,put}){//将callback作为参数传入
const response=yield call(UserSettingService.getUser,payload);
if(response.code===0){
yield put({
type:'save',
payload:{
schoolUserDetail:response.data
}
})
if (callback && typeof callback === 'function'){
callback(response.data);//返回response中的该条信息详细数据
}
}
else{
message.warning('获取信息失败')
}
return response;
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。