image.png
el-date-picker组件报上述错误原因:因为el-date-picker获取值是字符串,而不是date对象,与校验规则中type="date"不匹配,日期字符串没有getTime方法,因此就报错了。

解决方法:
删除校验规则中type: "date"或者更改成type:"string",如果需要其他校验规则可以设置自定义校验

<template>
  <div id="app">
    <el-form :rules="rules" :model="form">
      <el-form-item prop="date">
        <el-date-picker
        v-model="form.date"
        type="datetime"
        value-format="yyyy-MM-dd HH:mm:ss"
        placeholder="请输入日期"></el-date-picker>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  name: 'App',
  data () {
    // 自定义校验
    var checkDate = function (rule, value, callback) {
      console.log(value)
      callback()
    }
    return {
      form: {
        date: ''
      },
      rules: {
        date: [
          { required: true, message: '请输入日期', trigger: 'blur' },
          { validator: checkDate, trigger: 'blur' }
        ]
      }
    }
  }
}
</script>

参考:
https://blog.csdn.net/A13330069275/article/details/82895665


记得要微笑
1.9k 声望4.5k 粉丝

知不足而奋进,望远山而前行,卯足劲,不减热爱。