起因:优化一段代码
最终代码:使用Map进行优化后的代码
const searchConditionMap = new Map();
searchConditionMap.set(aloneSearch.provinceValUndefined,() => {
form.setFieldsValue({city: undefined, county: undefined});
clearCityAndCounty();
});
searchConditionMap.set(aloneSearch.province, () => {
form.setFieldsValue({schoolId: undefined, terminalNum: undefined});
});
searchConditionMap.set(aloneSearch.cityValUndefined, () => {
form.setFieldsValue({county: undefined})
dispatch<maintaining.models>({
type: 'maintaining/updateState',
payload: {
countyList: []
}
});
});
searchConditionMap.set(aloneSearch.schoolId, () => {
form.setFieldsValue({terminalNum: undefined, province: undefined, city: undefined, county: undefined})
clearCityAndCounty();
});
searchConditionMap.set(aloneSearch.terminalNum, () => {
form.setFieldsValue({schoolId: undefined, province: undefined, city: undefined, county: undefined});
clearCityAndCounty();
});
searchConditionMap.get(aloneSearch.terminalNum)()
第一次优化
enum aloneSearch {
province,
schoolId,
terminalNum,
provinceValUndefined,
cityValUndefined
}
const clearMistySearchCondition = (arg: number) => {
switch (arg) {
case aloneSearch.provinceValUndefined:
form.setFieldsValue({city: undefined, county: undefined});
clearCityAndCounty();
break;
case aloneSearch.province:
form.setFieldsValue({schoolId: undefined, terminalNum: undefined});
break;
case aloneSearch.cityValUndefined:
form.setFieldsValue({county: undefined})
dispatch<maintaining.models>({
type: 'maintaining/updateState',
payload: {
countyList: []
}
});
break;
case aloneSearch.schoolId:
form.setFieldsValue({terminalNum: undefined, province: undefined, city: undefined, county: undefined})
clearCityAndCounty();
break;
case aloneSearch.terminalNum:
form.setFieldsValue({schoolId: undefined, province: undefined, city: undefined, county: undefined});
clearCityAndCounty();
break;
default:
break;
}
};
clearMistySearchCondition(aloneSearch.province);
最原始的代码:
const clearMistySearchCondition = (province: boolean, city: boolean, county: boolean, schoolId: boolean, terminalNum: boolean) => {
if (schoolId) form.setFieldsValue({schoolId: undefined});
if (province) form.setFieldsValue({province: undefined});
if (terminalNum) form.setFieldsValue({terminalNum: undefined});
if (city) {
form.setFieldsValue({city: undefined});
dispatch({
type: 'Maintaining/updateCityList',
data: []
});
};
if (county) {
form.setFieldsValue({county: undefined})
dispatch({
type: 'Maintaining/updateCountyList',
data: []
});
};
}
clearMistySearchCondition(false, true, true, false, false);
- 这使用方式,5个boolean值,谁知道是干嘛的!!