Unverified 提交 df0e0cbe 作者: ludens blunt 提交者: GitHub

Update index.ts (#2336)

fix(deepMerge): 原对象受浅拷贝影响的问题
上级 7dcb38ca
...@@ -3,6 +3,7 @@ import type { App, Plugin } from 'vue'; ...@@ -3,6 +3,7 @@ import type { App, Plugin } from 'vue';
import { unref } from 'vue'; import { unref } from 'vue';
import { isObject } from '/@/utils/is'; import { isObject } from '/@/utils/is';
import { cloneDeep } from 'lodash-es';
export const noop = () => {}; export const noop = () => {};
...@@ -35,10 +36,11 @@ export function setObjToUrlParams(baseUrl: string, obj: any): string { ...@@ -35,10 +36,11 @@ export function setObjToUrlParams(baseUrl: string, obj: any): string {
// 深度合并 // 深度合并
export function deepMerge<T = any>(src: any = {}, target: any = {}): T { export function deepMerge<T = any>(src: any = {}, target: any = {}): T {
let key: string; let key: string;
const res: any = cloneDeep(src)
for (key in target) { 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( export function openWindow(
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论