Skip to content

Commit b1a5e5b

Browse files
authored
Merge pull request #1416 from alibaba/fix-moment
feat: 修复 moment 数据解析错误
2 parents aa8a48c + 8209d07 commit b1a5e5b

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

packages/form-render/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "form-render",
3-
"version": "2.2.19",
3+
"version": "2.2.21",
44
"description": "通过 JSON Schema 生成标准 Form,常用于自定义搭建配置界面生成",
55
"keywords": [
66
"Form",

packages/form-render/src/models/filterValuesUndefined.ts

+13-10
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { isObject, isArray } from '../utils';
33

44
export default (values: any, notFilter?: boolean) => {
55
const recursiveArray = (list: any[]) => {
6-
const result = (list || []).map(item => {
6+
let result = list.map(item => {
77
if (isObject(item)) {
88
return recursiveObj(item, false);
99
}
@@ -12,15 +12,19 @@ export default (values: any, notFilter?: boolean) => {
1212
}
1313
return item;
1414
});
15-
1615
if (Object.keys(result).length === 0) {
1716
return undefined;
1817
}
1918
return result;
2019
};
21-
22-
const recursiveObj = (obj: any, filter = true) => {
23-
for (let key of Object.keys(obj)) {
20+
21+
const recursiveObj = (_obj: any, filter = true) => {
22+
if (_obj._isAMomentObject) {
23+
return _obj;
24+
}
25+
26+
let obj = omitBy(_obj, isUndefined);
27+
Object.keys(obj).forEach(key => {
2428
const item = obj[key];
2529

2630
if (isObject(item)) {
@@ -29,13 +33,12 @@ export default (values: any, notFilter?: boolean) => {
2933

3034
if (isArray(item)) {
3135
const data = recursiveArray(item);
32-
if (notFilter || !data) {
33-
obj[key] = data;
34-
} else {
35-
obj[key] = (data || []).filter((item: any) => item !== undefined);
36+
obj[key] = data;
37+
if (!notFilter && data) {
38+
obj[key] = data.filter((item: any) => item !== undefined);
3639
}
3740
}
38-
}
41+
});
3942

4043
obj = omitBy(obj, isUndefined);
4144
if (Object.keys(obj).length === 0 && filter) {

0 commit comments

Comments
 (0)