1、查询条件默认取initialValue,当修改输入框的值后,通过调用方法传参过来searchValue,此处最大的特点是{…initialValue,…searchValue} searchValue会优先于initialValue ,这样会及时更新最新的searchValue
// 取初始药品数据
let selectedStdMed = yield select(state => state.getIn(['Library','stdMedicine', 'selectedStdMed']));
let initialValue={
name: selectedStdMed.get('name'),
approval_no: selectedStdMed.get('approval_no')
}
// 异步请求
let { searchValue ,page=1 , pageSize = 10} = action.payload ? action.payload : {};
if(!searchValue){
searchValue={...initialValue,...searchValue}
}
2、在写代码大多情况会使用三元判断,用解构赋值会解决后者出现0的问题。
let searchData = {
doctor_name: job_name,
page:page,
pagesize:pageSize,
};
if(searchValue){
searchData = {...searchData,...searchValue}
}
这时,searchValue里的doctor_name为空时,也可以优先取searchValue