vue.js - Datepicker从接口获取数据后,更新时不选时间会报错value.getTime() is not a function

查看:3533
本文介绍了vue.js - Datepicker从接口获取数据后,更新时不选时间会报错value.getTime() is not a function的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

Datepicker从接口获取数据后,更新时如果不重新选择时间的话会报错value.getTime() is not a function,
如果重新选择时间就不会报错。


        <Form-item label="开始日期" prop="beginAt">
          <Date-picker v-model="activityDetails.beginAt" " type="datetime" placeholder="请选择开始日期"></Date-picker>
        </Form-item>
        <Form-item label="结束日期" prop="endAt">
          <Date-picker v-model="activityDetails.endAt" type="datetime" placeholder="请选择结束日期"></Date-picker>
        </Form-item>

          beginAt: [
            {required: true, message: '开始日期不能为空', type: 'date', trigger: 'change'}
          ],
          endAt: [
            {required: true, message: '结束日期不能为空', type: 'date', trigger: 'change'}
          ],

        let beginTime = (new Date(this.activityDetails.beginAt)).getTime();
        let endTime = (new Date(this.activityDetails.endAt)).getTime();

        if (beginTime > endTime) {
          this.$Message.error('开始日期不能大于结束日期!');
          this.loading = false;
          return false;
        } else {
            this.axios.put('/operation/v1/activity', this.activityDetails)
        }

解决方案

补充加回答:在获取接口数据的时候就要把日期类型改成date格式,不改的话获取的是string类型,就会出现上述问题:value.getTime() is not a function.

        this.axios.get('/operation/v1/activity/no/' + this.$route.params.activityNo)
          .then(response => {
            let details = response.data.data;
            details.ifShowName = details.ifShowName === 1;
            details.ifShowPhone = details.ifShowPhone === 1;
            details.ifShowWechat = details.ifShowWechat === 1;
            details.ifShowEmail = details.ifShowEmail === 1;
            details.beginAt = new Date((details.beginAt + '.000Z').replace(' ', 'T'));
            details.endAt = new Date((details.endAt + '.000Z').replace(' ', 'T'));
            this.activityDetails = details;
          })

这篇关于vue.js - Datepicker从接口获取数据后,更新时不选时间会报错value.getTime() is not a function的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆