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 14 import { useTimeoutFn } from '/@/hooks/core/useTimeout';
15 15 import { buildUUID } from '/@/utils/uuid';
16 16 import { isFunction, isBoolean } from '/@/utils/is';
17   -import { get, cloneDeep } from 'lodash-es';
  17 +import { get, cloneDeep, merge } from 'lodash-es';
18 18 import { FETCH_SETTING, ROW_KEY, PAGE_SIZE } from '../const';
19 19  
20 20 interface ActionType {
... ... @@ -272,17 +272,17 @@ export function useDataSource(
272 272  
273 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 286 if (beforeFetch && isFunction(beforeFetch)) {
287 287 params = (await beforeFetch(params)) || params;
288 288 }
... ...