在使用DatePicker时发现一个奇怪的问题. 明明设置了value-format 为 “yyyy-MM-dd” 格式. 且使用v-model 绑定了某个变量.但是返回到后台时却一直是时间格式的.
<el-date-picker type="date" placeholder="选择日期" v-model="register_date" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
于是使用Alert 进行调试.
最后终于发现了问题所在,问题的复现也容易起来.
就是当页面载入后,如果不手动去选择该日期,那么即使显示在界面上的是正确的期望的格式yyyy-MM-dd,但返回的值则是全日期格式
不对日期选择框做任何选择的情况下,返回:
随便挑个日期,即使是同一天.(只要点击一下该选择框都行),于是返回的是期望的格式的字符串型的了,如图:
解决办法?
尝试搜索了下,发现少有相关文章.难道没人碰到这个问题?最后仔细再找了下, 在CSDN找到一个 https://blog.csdn.net/qq_31772441/article/details/80410508
和该作者的猜想差不多:
el-date-picker日期控件默认值是不会经过格式化的,所以设定默认值需要自己先转换格式
不过我不是太喜欢那种解决办法.–那你的解决办法到底是啥嘛? –哈,我想反馈给官方解决一下~~
还有就是既然它的生效是在日期发生了触发(比如focus,或者change)才会格式生效.那么我们是否可以直接模拟一个change给它呢?
转载请注明:Linc Hu » Element-UI DatePicker的一个小坑