处理form表单提交参数未知时,对时间类型参数进行处理
2019-10-11 本文已影响0人
华戈的小书
使用lodash插件
使用到的方法:
- pickBy 筛选出对象中符合条件的属性,返回一个对象;
- forOwn 遍历一个对象;
- isUndefined 值类型为undefined,返回值为true;
- isObject 值类型为Object,返回值为true;
示例:
import { isUndefined, isObject, pickBy, forOwn } from 'lodash';
import { moment } from 'moment';
const dateTime = 'YY-MM-DD';
const { form } = this.props;
const formValues = isUndefined(form) ? {} : form.getFieldsValue(); // 未处理的form表单
// 开始处理日期格式数据
const dateFormFields = pickBy(formValues, isObject);
let newDateFormFields = {};
forOwn(dateFormFields, (vlaue, key) => {
newDateFormFields = Object.assign({}, newDateFormFields, { [key]: moment(value).format(dateTime) });
})
const newFormValues = { ...formValues, ...newDateFormFields }; // 处理后的form表单