浏览代码

date-picker: support array for name attr

wacky6.AriesMBP 7 年之前
父节点
当前提交
c856d9268b
共有 1 个文件被更改,包括 18 次插入1 次删除
  1. 18 1
      packages/date-picker/src/picker.vue

+ 18 - 1
packages/date-picker/src/picker.vue

@@ -47,6 +47,7 @@
       :placeholder="startPlaceholder"
       :value="displayValue && displayValue[0]"
       :disabled="disabled"
+      :name="name && name[0]"
       @input="handleStartInput"
       @change="handleStartChange"
       @focus="handleFocus"
@@ -56,6 +57,7 @@
       :placeholder="endPlaceholder"
       :value="displayValue && displayValue[1]"
       :disabled="disabled"
+      :name="name && name[1]"
       @input="handleEndInput"
       @change="handleEndChange"
       @focus="handleFocus"
@@ -266,6 +268,10 @@ const valueEquals = function(a, b) {
   return false;
 };
 
+const isString = function(val) {
+  return typeof val === 'string' || val instanceof String;
+};
+
 export default {
   mixins: [Emitter, NewPopper, Focus('reference')],
 
@@ -283,7 +289,18 @@ export default {
     placeholder: String,
     startPlaceholder: String,
     endPlaceholder: String,
-    name: String,
+    name: {
+      default: '',
+      validator(val) {
+        // either: String, Array of String, null / undefined
+        return (
+          val === null ||
+          val === undefined ||
+          isString(val) ||
+          (Array.isArray(val) && val.length === 2 && val.every(isString))
+        );
+      }
+    },
     disabled: Boolean,
     clearable: {
       type: Boolean,