0


Element UI日期时间选择器报错(date.getFullYear is not a function) 解决方案

    在项目中我们常常用到时间选择器、日期选择器和日期时间选择器,在获取选中的值时,往往跟我们向后台传的值的格式有所不同,下面我们就以日期时间为例,获取想要的数据格式,以及遇到的报错。

效果:

![](https://img-blog.csdnimg.cn/e6f6ae6d49be417dadf50eeaad2f99c8.png)
 <div class="block">
    <span class="demonstration">默认</span>
    <el-date-picker
      v-model="value1"
      type="datetime"
      @change="TimeChange"
      placeholder="选择日期时间">
    </el-date-picker>
  </div>

我们在@change事件中获取它的值,我们将他打印出来

TimeChange(e) {
    var that = this
    console.log(e)  // 打印结果为:Thu Jun 30 2022 10:19:19 GMT+0800 (中国标准时间)
},

我们可以看到打印的数据为:Thu Jun 30 2022 10:19:19 GMT+0800 (中国标准时间)

但是我们所需要的数据结构为 " yyyy-mm-dd hh:mm:ss "的格式

首先我给标签添加了value-format属性

 <div class="block">
    <span class="demonstration">默认</span>
    <el-date-picker
      v-model="value1"
      type="datetime"
      @change="TimeChange"
      value-format = 'yyyy-mm-ddThh:mm:ss'
      placeholder="选择日期时间">
    </el-date-picker>
  </div>
     神奇的是,拿到的数据格式也是ok的,向后台传参也是没问题的,但就是报错

然后又重新修改,通过Thu Jun 30 2022 10:19:19 GMT+0800 (中国标准时间)去获取相应的数据并组成所需的格式,完整代码:

<div class="block">
    <span class="demonstration">默认</span>
    <el-date-picker
      v-model="value1"
      type="datetime"
      @change="TimeChange"
      placeholder="选择日期时间">
    </el-date-picker>
  </div>
TimeChange(e) {
    var that = this
    var date = new Date(e);
    var y = date.getFullYear(); // 年
    var m = date.getMonth() + 1; // 月
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate(); // 日
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours(); // 时
    h = h < 10 ? ('0' + h) : h;
    var min = date.getMinutes(); // 分
    min = min < 10 ? ('0' + min) : min;
    var s = date.getSeconds(); // 秒
    s = s < 10 ? ('0' + s) : s;
    that.time = y + '-' + m + '-' + d + 'T' + h + ':' + min + ':' + s;//拼在一起
},

这样就不报错了,最后that.time拼接的方式可以根据自己需要去拼接!

标签: vue.js elementui

本文转载自: https://blog.csdn.net/EvaY_Yang/article/details/125506116
版权归原作者 EvaY_Yang 所有, 如有侵权,请联系我们删除。

“Element UI日期时间选择器报错(date.getFullYear is not a function) 解决方案”的评论:

还没有评论