在使用element date-picker组件时发现周数获取问题,如下
如:当前如期为2021/10/08
date-picker显示周数为202040
这个周数202040
是ISOWEEK周数,而我们后端使用的是非ISOWEEK周数为202041
如果此时你需要的刚好是ISOWEEK
周数,可以直接使用,如果想拿到非ISOWEEK
周数,该如何处理~,本以为element会提供,找了半天没找到,有知道的朋友可以下方留言告诉我,感谢!!!
下面是我获取非ISOWEEK周数的处理方式
实现方案
通过moment(val
).week() 可以获取当前val日期非ISOWEEK周数
获取非ISOWEEK周数后再赋值给date-picker
1.安装moment,此处省略
2.给出dom
$('#currentWeekly input')可以拿到date-picker显示值,同样也可以赋值
3.逻辑处理
var nowWeek = new Date();
var dateVue = new Vue({
el: el,
data: {
dataStart: nowWeek,
},
created() { },
mounted(){
//初始显示当前时间非ISOWEEK周数
$('#currentWeekly input').val(moment().isoWeekYear() + 'w' + moment(nowWeek).week())
},
computed: {
dateFormat: function (day) {
return 'yyyy[w]WW';
},
},
watch: {
dataStart(newVal, oldVal) {
//change事件中获取date-picker值
this.$nextTick(() => {
//获取当前非ISOWEEK周数
$('#currentWeekly input').val(moment().isoWeekYear() + 'w' + moment(newVal).week())
})
},
},
methods: {
},
});
注意最终取值不能从dataStart中获取了,使用$('#currentWeekly input').val()获取最终结果