Vue elementui时间控件编辑时报错:date.getHours is not a function

在使用Vue的el-date-picker组件时,若类型设置为datetime并格式化为yyyy-MM-ddHH:mm:ss,在编辑时可能出现getHoursisnotafunction的错误。解决方法包括将接口返回值从datetime改为字符串,或者在前端接收时将时间转换为Date对象。如果去除格式化,需注意时区差异可能导致8小时的偏差,这需要额外处理。
摘要由CSDN通过智能技术生成

时间控件,这里用了type=“datetime”,并且设置了格式化, value-format=“yyyy-MM-dd HH:mm:ss”

 <el-form-item
   label="开始时间"
   v-if="activityForm.pushMethod == 2 || activityForm.pushMethod == 4"
   prop="startTime"
 >
   <el-date-picker
     v-model="activityForm.startTime"
     type="datetime"
     placeholder="选择日期"
     value-format="yyyy-MM-dd HH:mm:ss"
     :disabled="isFlag"
     @change="startTime"
   >
   </el-date-picker>
 </el-form-item>

遇到编辑时报错的情况,然后无法修改时间:date.getHours is not a function

解决方法1:接口返回字符串,不要返回datetime类型,前端不用改
解决方法2:把接收到的时间转换为时间类型

_this.activityForm.startTime=new Date(res.result.startTime);
_this.activityForm.endTime=new Date(res.result.endTime);

解决方法3:不要格式化: value-format=“yyyy-MM-dd HH:mm:ss” ,这样的话传给接口的时间会少了8个小时,要另外想办法处理,这个方法未测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值