From df0e0cbe69b076b35c24c90125e2bb59816c5240 Mon Sep 17 00:00:00 2001 From: ludens blunt <1223445257@qq.com> Date: Tue, 8 Nov 2022 09:06:24 +0800 Subject: [PATCH] Update index.ts (#2336) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(deepMerge): 原对象受浅拷贝影响的问题 --- src/utils/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 78022c6a..d90e6731 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -3,6 +3,7 @@ import type { App, Plugin } from 'vue'; import { unref } from 'vue'; import { isObject } from '/@/utils/is'; +import { cloneDeep } from 'lodash-es'; export const noop = () => {}; @@ -35,10 +36,11 @@ export function setObjToUrlParams(baseUrl: string, obj: any): string { // 深度合并 export function deepMerge(src: any = {}, target: any = {}): T { let key: string; + const res: any = cloneDeep(src) for (key in target) { - src[key] = isObject(src[key]) ? deepMerge(src[key], target[key]) : (src[key] = target[key]); + res[key] = isObject(res[key]) ? deepMerge(res[key], target[key]) : (res[key] = target[key]); } - return src; + return res; } export function openWindow( -- GitLab