Browse Source

support dynamic form item rule required

baiyaaaaa 8 years ago
parent
commit
9756a3c33a
1 changed files with 16 additions and 8 deletions
  1. 16 8
      packages/form/src/form-item.vue

+ 16 - 8
packages/form/src/form-item.vue

@@ -112,6 +112,21 @@
 
           return getPropByPath(model, path).v;
         }
+      },
+      isRequired() {
+        let rules = this.getRules();
+        let isRequired = false;
+
+        if (rules && rules.length) {
+          rules.every(rule => {
+            if (rule.required) {
+              isRequired = true;
+              return false;
+            }
+            return true;
+          });
+        }
+        return isRequired;
       }
     },
     data() {
@@ -119,8 +134,7 @@
         validateState: '',
         validateMessage: '',
         validateDisabled: false,
-        validator: {},
-        isRequired: false
+        validator: {}
       };
     },
     methods: {
@@ -211,12 +225,6 @@
         let rules = this.getRules();
 
         if (rules.length) {
-          rules.every(rule => {
-            if (rule.required) {
-              this.isRequired = true;
-              return false;
-            }
-          });
           this.$on('el.form.blur', this.onFieldBlur);
           this.$on('el.form.change', this.onFieldChange);
         }