From b2bc292cede8a2cd4105f0da8666129451d271ec Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Thu, 16 Nov 2023 15:35:56 +0800 Subject: [PATCH] 移除 CLoading 组件 --- forms/form/CFormItem.vue | 51 ++++++++++++++++++++++++++++----------------------- 1 files changed, 28 insertions(+), 23 deletions(-) diff --git a/forms/form/CFormItem.vue b/forms/form/CFormItem.vue index c7b1e2f..1187f85 100644 --- a/forms/form/CFormItem.vue +++ b/forms/form/CFormItem.vue @@ -43,6 +43,7 @@ data() { return { error: false, + errTimer: -1, }; }, computed: { @@ -97,34 +98,38 @@ [this.name]: evt, }); }, + $setError() { + this.error = true; + clearTimeout(this.errTimer); + this.errTimer = setTimeout(() => { + this.error = false; + }, 5000); + }, }, mounted() { this.$nextTick(() => { - // 未设置验证 - if (!this.required && !this.rules) { - this.formRes.$regItemValidator(this.name, validateType => { + // 注册验证 + this.formRes.$regItemValidator(this.name, validateType => { + // 未设置验证 + if (!this.required && !this.rules) { this.error = false; return Promise.resolve({ name: this.name, passed: true, }); - }); - } else { - // 验证规则 - const descriptor = this.rules || []; - if (this.required) { - descriptor.unshift({ - required: true, + } else { + // 验证规则 + const descriptor = this.rules || []; + if (this.required) { + descriptor.unshift({ + required: true, + }); + } + const validator = new Schema({ + [this.name]: descriptor, }); - } - const validator = new Schema({ - [this.name]: descriptor, - }); - // 汉化通用验证消息 - validator.messages(validateMsgs); - // 注册验证 - let errTimer = null; - this.formRes.$regItemValidator(this.name, validateType => { + // 汉化通用验证消息 + validator.messages(validateMsgs); return validator .validate({ [this.name]: this.formRes.formData[this.name], @@ -140,8 +145,8 @@ ({ errors, fields }) => { if (validateType !== 'msgOnly') { this.error = true; - clearTimeout(errTimer); - errTimer = setTimeout(() => { + clearTimeout(this.errTimer); + this.errTimer = setTimeout(() => { this.error = false; }, 5000); } @@ -155,8 +160,8 @@ }; } ); - }); - } + } + }); }); }, beforeDestroy() { -- Gitblit v1.9.1