diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 3e5109f1..b4a23208 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -10,6 +10,7 @@ } }, "dependencies": { - "@sa/axios": "workspace:*" + "@sa/axios": "workspace:*", + "@sa/utils": "workspace:*" } } diff --git a/packages/hooks/src/use-table.ts b/packages/hooks/src/use-table.ts index 6c2ae07c..e368973e 100644 --- a/packages/hooks/src/use-table.ts +++ b/packages/hooks/src/use-table.ts @@ -1,5 +1,6 @@ import { computed, reactive, ref } from 'vue'; import type { Ref } from 'vue'; +import { jsonClone } from '@sa/utils'; import useBoolean from './use-boolean'; import useLoading from './use-loading'; @@ -65,7 +66,7 @@ export default function useHookTable(config: TableConfig< const { apiFn, apiParams, transformer, immediate = true, getColumnChecks, getColumns } = config; - const searchParams: NonNullable[0]> = reactive({ ...apiParams }); + const searchParams: NonNullable[0]> = reactive(jsonClone({ ...apiParams })); const allColumns = ref(config.columns()) as Ref; @@ -129,7 +130,7 @@ export default function useHookTable(config: TableConfig< /** reset search params */ function resetSearchParams() { - Object.assign(searchParams, apiParams); + Object.assign(searchParams, jsonClone(apiParams)); } if (immediate) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 59597f4f..7827ce9e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -190,6 +190,9 @@ importers: '@sa/axios': specifier: workspace:* version: link:../axios + '@sa/utils': + specifier: workspace:^ + version: link:../utils packages/materials: dependencies: