diff --git a/src/utils/index.ts b/src/utils/index.ts index f8880d2b..44bb588b 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -39,32 +39,3 @@ export function isExternal(path: string) { const isExternal = /^(https?:|http?:|mailto:|tel:)/.test(path); return isExternal; } - -/** - * 防抖函数 - * - * @param {Function} fn 需要防抖的函数 - * @param {number} delay 防抖时间 - * @returns {Function} - */ -export const debounce = any>( - fn: T, - delay: number, - immediate = false -) => { - let timer: NodeJS.Timeout | null = null; - return function (this: any, ...args: Parameters) { - if (timer) clearTimeout(timer); - - if (immediate && !timer) { - fn.apply(this, args); - } - - timer = setTimeout(() => { - if (!immediate) { - fn.apply(this, args); - } - timer = null; - }, delay); - }; -}; diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue index 8fb6e2cc..ed4397dc 100644 --- a/src/views/system/config/index.vue +++ b/src/views/system/config/index.vue @@ -136,7 +136,6 @@ defineOptions({ }); import ConfigAPI, { ConfigPageVO, ConfigForm, ConfigPageQuery } from "@/api/system/config"; -import { debounce } from "@/utils"; const queryFormRef = ref(ElForm); const dataFormRef = ref(ElForm); @@ -212,8 +211,8 @@ function handleOpenDialog(id?: number) { } } -// 防抖刷新缓存 -const debouncedRefresh = debounce(() => { +// 刷新缓存(防抖) +const debouncedRefresh = useDebounceFn(() => { ConfigAPI.refreshCache().then(() => { ElMessage.success("刷新成功"); }); diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 38bcb3a5..51113d70 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -380,9 +380,9 @@ function handleCloseDialog() { formData.status = 1; } -// 提交用户表单(防抖处理) -const handleSubmit = useThrottleFn(() => { - userFormRef.value.validate((valid: any) => { +// 提交用户表单(防抖) +const handleSubmit = useDebounceFn(() => { + userFormRef.value.validate((valid: boolean) => { if (valid) { const userId = formData.id; loading.value = true; @@ -405,7 +405,7 @@ const handleSubmit = useThrottleFn(() => { } } }); -}, 3000); +}, 1000); /** * 删除用户