在使用element date-picker組件時(shí)發(fā)現(xiàn)周數(shù)獲取問題,如下
如:當(dāng)前如期為2021/10/08
date-picker顯示周數(shù)為202040
這個(gè)周數(shù)202040
是ISOWEEK周數(shù),而我們后端使用的是非ISOWEEK周數(shù)為202041
如果此時(shí)你需要的剛好是ISOWEEK
周數(shù),可以直接使用,如果想拿到非ISOWEEK
周數(shù),該如何處理~,本以為element會(huì)提供,找了半天沒找到,有知道的朋友可以下方留言告訴我,感謝!!!
下面是我獲取非ISOWEEK周數(shù)的處理方式??
實(shí)現(xiàn)方案
通過moment(val
).week() 可以獲取當(dāng)前val日期非ISOWEEK周數(shù)
獲取非ISOWEEK周數(shù)后再賦值給date-picker
1.安裝moment,此處省略
2.給出dom
<span id="currentWeekly" >
<el-date-picker v-model='dataStart' size="small" :clearable='false' :format='dateFormat' type="week" v-on:change='dateStart'></el-date-picker>
</span>
$('#currentWeekly input')可以拿到date-picker顯示值,同樣也可以賦值
3.邏輯處理
var nowWeek = new Date();
var dateVue = new Vue({
el: el,
data: {
dataStart: nowWeek,
},
created() { },
mounted(){
//初始顯示當(dāng)前時(shí)間非ISOWEEK周數(shù)
$('#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(() => {
//獲取當(dāng)前非ISOWEEK周數(shù)
$('#currentWeekly input').val(moment().isoWeekYear() + 'w' + moment(newVal).week())
})
},
},
methods: {
},
});
注意最終取值不能從dataStart中獲取了,使用$('#currentWeekly input').val()獲取最終結(jié)果