|
@@ -480,10 +480,21 @@ export default {
|
|
|
}
|
|
|
// return formRef.validate() 这种方式没有外抛异常明细
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- formRef.validate((valid, errors) => {
|
|
|
- if (valid) resolve(valid)
|
|
|
- else reject(errors) // 经这一步转化,可以外抛errors
|
|
|
- })
|
|
|
+ const localFields = Object.keys(this.finalRules)
|
|
|
+ const formFields = formRef.fields
|
|
|
+ const shouldDelay = localFields.length > 0 && formFields.length == 0
|
|
|
+
|
|
|
+ const invoker = function(){
|
|
|
+ formRef.validate((valid, errors) => {
|
|
|
+ //debugger
|
|
|
+ if (valid) resolve(valid)
|
|
|
+ else reject(errors) // 经这一步转化,可以外抛errors
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ // NOTE: 5.14 hht 这里因为form组件的校验要在子组件加载好之后才能生效
|
|
|
+ if (shouldDelay) this.$nextTick(()=> invoker())
|
|
|
+ else invoker()
|
|
|
})
|
|
|
}
|
|
|
}
|