From bcad95d32a08a73f84ecbabab409cd64159f4077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=97=A0=E6=9C=A8?= Date: Mon, 7 Jun 2021 14:52:03 +0800 Subject: [PATCH] fix(form): fix form update problem MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复表单组件在特定情况下的卡顿、崩溃问题 fix: #720 --- src/components/Form/src/hooks/useAdvanced.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/Form/src/hooks/useAdvanced.ts b/src/components/Form/src/hooks/useAdvanced.ts index 901be480c..372ba707b 100644 --- a/src/components/Form/src/hooks/useAdvanced.ts +++ b/src/components/Form/src/hooks/useAdvanced.ts @@ -7,6 +7,7 @@ import { computed, unref, watch } from 'vue'; import { isBoolean, isFunction, isNumber, isObject } from '/@/utils/is'; import { useBreakpoint } from '/@/hooks/event/useBreakpoint'; +import { useDebounceFn } from '@vueuse/core'; const BASIC_COL_LEN = 24; @@ -49,12 +50,14 @@ export default function ({ return 0; }); + const debounceUpdateAdvanced = useDebounceFn(updateAdvanced, 30); + watch( [() => unref(getSchema), () => advanceState.isAdvanced, () => unref(realWidthRef)], () => { const { showAdvancedButton } = unref(getProps); if (showAdvancedButton) { - updateAdvanced(); + debounceUpdateAdvanced(); } }, { immediate: true }