mirror of
https://gitee.com/baidu/amis.git
synced 2024-12-01 19:38:16 +08:00
parent
bc43375b81
commit
8aacd4361e
@ -99,19 +99,21 @@ export function dataMapping(
|
||||
);
|
||||
}
|
||||
} else {
|
||||
Object.keys(to).forEach(key => {
|
||||
const value = to[key];
|
||||
let keys: Array<string>;
|
||||
const objectKeys = Object.keys(to);
|
||||
// 如果存在 '&' 作为 key,则特殊处理
|
||||
// 就是无论这个 key 的位置在什么地方始终都是当放在最前面
|
||||
const idx = objectKeys.indexOf('&');
|
||||
if (~idx) {
|
||||
const value = to['&'];
|
||||
objectKeys.splice(idx, 1);
|
||||
|
||||
if (typeof ignoreFunction === 'function' && ignoreFunction(key, value)) {
|
||||
// 如果被ignore,不做数据映射处理。
|
||||
setVariable(ret, key, value, convertKeyToPath);
|
||||
} else if (key === '&' && value === '$$') {
|
||||
if (value === '$$') {
|
||||
ret = {
|
||||
...ret,
|
||||
...from
|
||||
};
|
||||
} else if (key === '&') {
|
||||
} else {
|
||||
let keys: Array<string>;
|
||||
const v =
|
||||
isPlainObject(value) &&
|
||||
(keys = Object.keys(value)) &&
|
||||
@ -142,6 +144,15 @@ export function dataMapping(
|
||||
...v
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
objectKeys.forEach(key => {
|
||||
const value = to[key];
|
||||
|
||||
if (typeof ignoreFunction === 'function' && ignoreFunction(key, value)) {
|
||||
// 如果被ignore,不做数据映射处理。
|
||||
setVariable(ret, key, value, convertKeyToPath);
|
||||
} else if (value === '$$') {
|
||||
setVariable(ret, key, from, convertKeyToPath);
|
||||
} else if (value && value[0] === '$') {
|
||||
|
Loading…
Reference in New Issue
Block a user