From d4b549d2190fa1200591ceff5fe24f6d7259c419 Mon Sep 17 00:00:00 2001 From: evoforce <254217307@qq.com> Date: Tue, 17 Jun 2025 11:09:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Form=E5=88=A4=E6=96=AD=E5=BC=82=E6=AD=A5?= =?UTF-8?q?rule=E6=96=B9=E6=B3=95=E6=97=B6,=E4=BC=A0callback=E4=BB=A5?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=90=8C=E6=AD=A5rule=E7=9A=84=E8=B0=83?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vantui/src/form/core/formstore.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/vantui/src/form/core/formstore.ts b/packages/vantui/src/form/core/formstore.ts index e3a9973e..9393fc4e 100644 --- a/packages/vantui/src/form/core/formstore.ts +++ b/packages/vantui/src/form/core/formstore.ts @@ -393,8 +393,13 @@ class FormStore { break } } else if (typeof rule === 'function') { - // 检查函数是否返回Promise - const result = rule(value) + // 传统的回调函数形式 + const validateCallback = (callbackMessage: string) => { + this.model[name].message = callbackMessage + status = !callbackMessage ? 'resolve' : 'reject' + } + // 检查函数是否返回Promise,传入callback兼容同步回调 + const result = rule(value, validateCallback) if (isPromise(result)) { try { // 规则函数返回Promise的情况 @@ -413,12 +418,6 @@ class FormStore { break } } else { - // 传统的回调函数形式 - const validateCallback = (callbackMessage: string) => { - this.model[name].message = callbackMessage - status = !callbackMessage ? 'resolve' : 'reject' - } - // 执行规则函数 rule(value, validateCallback)