优化
This commit is contained in:
@@ -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<boolean>(() => {
|
||||
|
||||
// 否则,根据规则自动判断
|
||||
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<boolean>(() => {
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user