之前做项目的时候,遇到过一个奇葩的问题,找了半天csdn没有发现处理办法,最后是看文档解决的,在这边做一下分享吧。
在ant design3.0的版本中,使用时间组件
<a-date-picker v-model:value="timeMonth" picker="week" />
这是可以调控选择 选择星期,或者是选择月份这种,第一次编辑的时候,没跟我说有默认值问题,后面我发现,当你打印出来数据时,你可以用其他文章里面提到的moment.js转换,但是这种方法可以把选择的数据转换出来,但是,转换回去就会造成组件崩溃,我这边出现的形式是,无法选择日期,只显示年份。
这个地方需要按照他文档给你提供的方法转换,也就是dayjs,这个东西怎么用呢,我这边是获取上一个月的月份作为默认
getLastMonth(){
const currentDate = new Date();
currentDate.setMonth(currentDate.getMonth() - 1);
const year = currentDate.getFullYear();
const month = (currentDate.getMonth() + 1).toString().padStart(2, '0');
return `${year}-${month}`;
},
timeMonth.value = dayjs(getLastMonth());
这样,你拿到的日期就是符合他默认值的设置,放进去是没问题的,
我这边回传的也是年月,这边把年月的传参转换在给一下,以便你们做参考
period:timeMonth.value.format('YYYYMM')