From 130a253b83c9c4d320d5a50f6fd722badee9fc6f Mon Sep 17 00:00:00 2001 From: ZhuRui Date: Thu, 6 Aug 2026 11:56:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86setT?= =?UTF-8?q?ime=200=20=E7=9A=84=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ChangePasswordModal/index.tsx | 4 ++-- src/pages/events/banner/components/BannerFormModal.tsx | 4 ++-- src/pages/events/list/model/useEventListModel.ts | 4 ++-- src/pages/events/orders/model/useOrderModel.ts | 4 ++-- src/pages/finance/payments/model/usePaymentsModel.ts | 4 ++-- src/pages/finance/wallet/model/useWalletModel.ts | 4 ++-- src/pages/finance/withdraw/model/useWithdrawModel.ts | 4 ++-- src/pages/system/logs/model/useLogModel.ts | 4 ++-- src/pages/system/roles/components/RoleFormModal.tsx | 4 ++-- src/pages/system/roles/model/useRoleModel.ts | 4 ++-- src/pages/system/users/components/UserFormModal.tsx | 4 ++-- src/pages/system/users/model/useUserModel.ts | 4 ++-- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/components/ChangePasswordModal/index.tsx b/src/components/ChangePasswordModal/index.tsx index 7c0f258..faef592 100644 --- a/src/components/ChangePasswordModal/index.tsx +++ b/src/components/ChangePasswordModal/index.tsx @@ -1,4 +1,4 @@ -import { defineComponent, ref, reactive } from 'vue'; +import { defineComponent, ref, reactive, nextTick } from 'vue'; import { useEffect } from '@/hooks'; import { Modal, Form, Input, Button, message } from 'ant-design-vue'; import { TIPS_TEXT, newPasswordRules, confirmNewPasswordRules } from './controller'; @@ -34,7 +34,7 @@ export default defineComponent({ useEffect(() => { if (props.visible) { Object.assign(formData, getDefaultForm()); - setTimeout(() => formRef.value?.clearValidate(), 0); + nextTick().then(() => formRef.value?.clearValidate()); } }, [() => props.visible]); diff --git a/src/pages/events/banner/components/BannerFormModal.tsx b/src/pages/events/banner/components/BannerFormModal.tsx index be5777a..e662968 100644 --- a/src/pages/events/banner/components/BannerFormModal.tsx +++ b/src/pages/events/banner/components/BannerFormModal.tsx @@ -1,4 +1,4 @@ -import { defineComponent, ref, reactive, computed } from 'vue'; +import { defineComponent, ref, reactive, computed, nextTick } from 'vue'; import { useEffect, useState } from '@/hooks'; import { Modal, @@ -305,7 +305,7 @@ export default defineComponent({ initFormFromRecord(props.record); setCropperVisible(false); setUploadImageUrl(''); - setTimeout(() => formRef.value?.clearValidate(), 0); + nextTick().then(() => formRef.value?.clearValidate()); } }, [() => props.visible]); diff --git a/src/pages/events/list/model/useEventListModel.ts b/src/pages/events/list/model/useEventListModel.ts index 6059011..cd8e4c6 100644 --- a/src/pages/events/list/model/useEventListModel.ts +++ b/src/pages/events/list/model/useEventListModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref } from 'vue'; +import { computed, reactive, toRef, Ref, nextTick } from 'vue'; import { Modal, message } from 'ant-design-vue'; import { useState, useDebounce } from '@/hooks'; import { useRequest } from '@/hooks/useRequest'; @@ -109,7 +109,7 @@ export function useEventListModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; const openDetailModal = (record: any) => { diff --git a/src/pages/events/orders/model/useOrderModel.ts b/src/pages/events/orders/model/useOrderModel.ts index b148b3d..b3b2569 100644 --- a/src/pages/events/orders/model/useOrderModel.ts +++ b/src/pages/events/orders/model/useOrderModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref, h } from 'vue'; +import { computed, reactive, toRef, Ref, h, nextTick } from 'vue'; import { StatusTag, type StatusTagTone } from '@/components'; import { useDebounce } from '@/hooks'; import { useRequest } from '@/hooks/useRequest'; @@ -212,7 +212,7 @@ export function useOrderModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; return { diff --git a/src/pages/finance/payments/model/usePaymentsModel.ts b/src/pages/finance/payments/model/usePaymentsModel.ts index 27e31bc..a82a739 100644 --- a/src/pages/finance/payments/model/usePaymentsModel.ts +++ b/src/pages/finance/payments/model/usePaymentsModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref } from 'vue'; +import { computed, reactive, toRef, Ref, nextTick } from 'vue'; import { useDebounce, useThrottleFn, @@ -142,7 +142,7 @@ export function usePaymentsModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; return { diff --git a/src/pages/finance/wallet/model/useWalletModel.ts b/src/pages/finance/wallet/model/useWalletModel.ts index d13ddf5..1da9c6c 100644 --- a/src/pages/finance/wallet/model/useWalletModel.ts +++ b/src/pages/finance/wallet/model/useWalletModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref } from 'vue'; +import { computed, reactive, toRef, Ref, nextTick } from 'vue'; import { useState, useDebounce, @@ -175,7 +175,7 @@ export function useWalletModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; const handleViewDetail = (record: any) => { diff --git a/src/pages/finance/withdraw/model/useWithdrawModel.ts b/src/pages/finance/withdraw/model/useWithdrawModel.ts index f8c9bcd..e62c76d 100644 --- a/src/pages/finance/withdraw/model/useWithdrawModel.ts +++ b/src/pages/finance/withdraw/model/useWithdrawModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref, h } from 'vue'; +import { computed, reactive, toRef, Ref, h, nextTick } from 'vue'; import { StatusTag, type StatusTagTone } from '@/components'; import { useState, @@ -197,7 +197,7 @@ export function useWithdrawModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; /** 打开审核弹窗 */ diff --git a/src/pages/system/logs/model/useLogModel.ts b/src/pages/system/logs/model/useLogModel.ts index 03862d5..24f4967 100644 --- a/src/pages/system/logs/model/useLogModel.ts +++ b/src/pages/system/logs/model/useLogModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref } from 'vue'; +import { computed, reactive, toRef, Ref, nextTick } from 'vue'; import dayjs from 'dayjs'; import { useDebounce, useThrottleFn } from '@/hooks'; import { useRequest } from '@/hooks/useRequest'; @@ -138,7 +138,7 @@ export function useLogModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; return { diff --git a/src/pages/system/roles/components/RoleFormModal.tsx b/src/pages/system/roles/components/RoleFormModal.tsx index c27f4aa..596259a 100644 --- a/src/pages/system/roles/components/RoleFormModal.tsx +++ b/src/pages/system/roles/components/RoleFormModal.tsx @@ -1,4 +1,4 @@ -import { defineComponent, ref, reactive } from 'vue'; +import { defineComponent, ref, reactive, nextTick } from 'vue'; import { useEffect } from '@/hooks'; import { Modal, Form, Input, Tree, Button, Spin, message } from 'ant-design-vue'; import type { TreeProps } from 'ant-design-vue'; @@ -82,7 +82,7 @@ export default defineComponent({ useEffect(() => { if (props.visible) { initFormFromRecord(props.record); - setTimeout(() => formRef.value?.clearValidate(), 0); + nextTick().then(() => formRef.value?.clearValidate()); } }, [() => props.visible]); diff --git a/src/pages/system/roles/model/useRoleModel.ts b/src/pages/system/roles/model/useRoleModel.ts index 27adaec..68e1340 100644 --- a/src/pages/system/roles/model/useRoleModel.ts +++ b/src/pages/system/roles/model/useRoleModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref } from 'vue'; +import { computed, reactive, toRef, Ref, nextTick } from 'vue'; import { message } from 'ant-design-vue'; import { useState, useDebounce, useThrottleFn } from '@/hooks'; import { useRequest } from '@/hooks/useRequest'; @@ -107,7 +107,7 @@ export function useRoleModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; /** 新增 */ diff --git a/src/pages/system/users/components/UserFormModal.tsx b/src/pages/system/users/components/UserFormModal.tsx index 36c89ad..7044d72 100644 --- a/src/pages/system/users/components/UserFormModal.tsx +++ b/src/pages/system/users/components/UserFormModal.tsx @@ -1,4 +1,4 @@ -import { defineComponent, ref, reactive } from 'vue'; +import { defineComponent, ref, reactive, nextTick } from 'vue'; import { useEffect, useState } from '@/hooks'; import { Modal, Form, Input, Select, Button } from 'ant-design-vue'; import { getRoleList, type TournamentAdminRolePageVO } from '../../roles/model/services'; @@ -166,7 +166,7 @@ export default defineComponent({ if (props.visible) { initFormFromRecord(props.record); setIsResetting(false); - setTimeout(() => formRef.value?.clearValidate(), 0); + nextTick().then(() => formRef.value?.clearValidate()); } }, [() => props.visible]); diff --git a/src/pages/system/users/model/useUserModel.ts b/src/pages/system/users/model/useUserModel.ts index a69242f..533c6b1 100644 --- a/src/pages/system/users/model/useUserModel.ts +++ b/src/pages/system/users/model/useUserModel.ts @@ -1,4 +1,4 @@ -import { computed, reactive, toRef, Ref, h, ref } from 'vue'; +import { computed, reactive, toRef, Ref, h, ref, nextTick } from 'vue'; import { message } from 'ant-design-vue'; import { StatusTag, type StatusTagTone } from '@/components'; import { useDebounce, useThrottleFn } from '@/hooks'; @@ -150,7 +150,7 @@ export function useUserModel() { if (pageSize !== (pagination as any).pageSize.value) { pagination.setPageSize(pageSize); } - setTimeout(fetchList, 0); + nextTick().then(() => fetchList()); }; // ===== 初始化:加载角色选项 =====