问题:DatePicker组件,选择日期后格式变成UTC,例如:选择的日期是2019-03-10,得到的结果却是2019-03-10T16:00:00.000Z,页面显示是Sat Mar 09 2019 00:00:00 GMT+0800 (中国标准时间)
解决:用on-change事件的返回值,给绑定的数据赋值。查文档可知道on-change的返回值是已经格式化后的日期,是我们想要的格式,在<template>中$event是on-change的返回值,直接用简易写法(1)selDate=$event就可以赋值,第二点(2)将v-model="selDate"改为:value="selDate" 来绑定值,这样得到的是格式化后的,如果使用v-model,如果用watch监视selDate,会进两次第一次过来还是UTC格式,第二次是转好格式的。将v-model改为:value时,只会进一次,并且是转好格式的,再次强调。
<template>
<div>
<DatePicker ref="dateRef"
:value="selDate"
:placeholder="选择日期"
size="small"
:editable="false"
@on-change="datepicker_change_event(selDate=$event)"></DatePicker>
</div>
</temlate>
<script>
export default {
data(){
return {
selDate: '2019-03-10'
}
},
methods:{
datepicker_change_event() {
console.log('正常格式日期',this.selDate);
},
}
</script>