From 65989a0ecc3c472ce61c51eebbe0902481fa16de Mon Sep 17 00:00:00 2001 From: icssoa <615206459@qq.com> Date: Thu, 6 Nov 2025 18:01:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool-ui/components/cl-form-item/cl-form-item.uvue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/uni_modules/cool-ui/components/cl-form-item/cl-form-item.uvue b/uni_modules/cool-ui/components/cl-form-item/cl-form-item.uvue index e44797b..6d011de 100644 --- a/uni_modules/cool-ui/components/cl-form-item/cl-form-item.uvue +++ b/uni_modules/cool-ui/components/cl-form-item/cl-form-item.uvue @@ -115,7 +115,8 @@ const props = defineProps({ }); // cl-form 上下文 -const { formRef, getError, getValue, validateField, addField, removeField, setRule, getRule } = useForm(); +const { formRef, getError, getValue, validateField, addField, removeField, setRule, getRule } = + useForm(); // 透传样式类型 type PassThrough = { @@ -157,7 +158,7 @@ const required = computed(() => { // 否则,根据规则自动判断 const rules = getRule(props.prop); - return rules.some(rule => rule.required == true); + return rules.some((rule) => rule.required == true); }); // 是否显示必填星号 @@ -178,8 +179,9 @@ const showMessage = computed(() => { return props.showMessage ?? formRef.value?.showMessage ?? true; }); +// 监听计算后的 required 属性 watch( - required, // 监听计算后的 required 属性 + required, (val: boolean) => { if (val) { addField(props.prop, props.rules); @@ -205,7 +207,7 @@ onMounted(() => { return value; }), (a: any, b: any) => { - if (props.required) { + if (required.value == true) { if (!isEqual(a, b)) { validateField(props.prop); }