Commit 59b309aa7e0049f0ade0b5ee932f146c5bdb8dfc

Authored by HUCHAOQI
Committed by GitHub
1 parent 49c890eb

fix(table): 使用lodash 的merge来递归assign,优化在多对象嵌套情况下的结构 (#1350)

src/components/Table/src/hooks/useDataSource.ts
@@ -14,7 +14,7 @@ import { @@ -14,7 +14,7 @@ import {
14 import { useTimeoutFn } from '/@/hooks/core/useTimeout'; 14 import { useTimeoutFn } from '/@/hooks/core/useTimeout';
15 import { buildUUID } from '/@/utils/uuid'; 15 import { buildUUID } from '/@/utils/uuid';
16 import { isFunction, isBoolean } from '/@/utils/is'; 16 import { isFunction, isBoolean } from '/@/utils/is';
17 -import { get, cloneDeep } from 'lodash-es'; 17 +import { get, cloneDeep, merge } from 'lodash-es';
18 import { FETCH_SETTING, ROW_KEY, PAGE_SIZE } from '../const'; 18 import { FETCH_SETTING, ROW_KEY, PAGE_SIZE } from '../const';
19 19
20 interface ActionType { 20 interface ActionType {
@@ -272,17 +272,17 @@ export function useDataSource( @@ -272,17 +272,17 @@ export function useDataSource(
272 272
273 const { sortInfo = {}, filterInfo } = searchState; 273 const { sortInfo = {}, filterInfo } = searchState;
274 274
275 - let params: Recordable = {  
276 - ...pageParams,  
277 - ...(useSearchForm ? getFieldsValue() : {}),  
278 - ...searchInfo,  
279 - ...(opt?.searchInfo ?? {}),  
280 - ...defSort,  
281 - ...sortInfo,  
282 - ...filterInfo,  
283 - ...(opt?.sortInfo ?? {}),  
284 - ...(opt?.filterInfo ?? {}),  
285 - }; 275 + let params: Recordable = merge(
  276 + pageParams,
  277 + useSearchForm ? getFieldsValue() : {},
  278 + searchInfo,
  279 + opt?.searchInfo ?? {},
  280 + defSort,
  281 + sortInfo,
  282 + filterInfo,
  283 + opt?.sortInfo ?? {},
  284 + opt?.filterInfo ?? {},
  285 + );
286 if (beforeFetch && isFunction(beforeFetch)) { 286 if (beforeFetch && isFunction(beforeFetch)) {
287 params = (await beforeFetch(params)) || params; 287 params = (await beforeFetch(params)) || params;
288 } 288 }